pieceofsummer / Hangfire.Console

Job console extension for Hangfire
MIT License
436 stars 80 forks source link

Constantly polling the same rows on Linux machines #118

Open lukasan opened 2 years ago

lukasan commented 2 years ago

Hello, I'm having the same problem as #99 had. It starts repeating everything every polling interval after the function ends. Debug mode on Manjaro is like that. Production Ubuntu does the repeat polling also. But Windows debugging is working normally... So I figured this is a problem of the environment.

I tried with in-memory storage on Manjaro and there was no difference. So database provider is not likely to be the problem.

I'm using MariaDB. Same behaviour between .NET 5.0 and .NET 6.0.

khellang commented 1 year ago

Is this the same as #111? @lukasan did you happen to run with an RTL locale on the server?

lukasan commented 1 year ago

Hey @khellang. On a Ubuntu 20.04 64bit-based VPS:

$ locale -a
C
C.UTF-8
$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
$ localectl status
   System Locale: n/a
       VC Keymap: n/a
      X11 Layout: us
       X11 Model: pc105

Seems like this is not the problem.

leoerlandsson commented 1 year ago

We are seeing the same problem. This time on Windows. The Console keeps updating even though the job is already done and the entire log has been loaded.

The problem seems to be the parsing of the attribute "data-n", that has an invalid character. This minus sign (-) has a charcode of 8722, but should be 45.

Same problem as in #99 and (with a twist), #111

image image

khellang commented 1 year ago

Ah, yeah, that's the same. We're working on a fork with a bunch of bugfixes, including this one (here). Hopefully we'll be able to push a version to NuGet this week.

khellang commented 1 year ago

I'm assuming you're using Swedish locale, which is infamous for having a different NegativeSign than most other cultures. Forcing InvariantCulture (as in my commit) should fix the issue.

leoerlandsson commented 1 year ago

I'm assuming you're using Swedish locale, which is infamous for having a different NegativeSign than most other cultures. Forcing InvariantCulture (as in my commit) should fix the issue.

We are using Swedish locale. Not reproducible with English Culture.

Good catch, and thanks.

(Then there's the issue of getting the PR into Hangfire.Console. I guess @pieceofsummer is in the war? :( )

khellang commented 12 months ago

Then there's the issue of getting the PR into Hangfire.Console.

In the meantime, there's now a forked version with some modernization and bugfixes now on NuGet.org. Hopefully this project will come back to life at some point and the fixes can be accepted upstream 😄

leoerlandsson commented 12 months ago

Thanks Kristian!

lukasan commented 12 months ago

the locale problem is not related with my original issue.

khellang commented 12 months ago

@lukasan Wanna give the forked package a shot and see if it changes anything? Maybe you could check the data-n attribute in your browser?

peters commented 12 months ago

Then there's the issue of getting the PR into Hangfire.Console.

In the meantime, there's now a forked version with some modernization and bugfixes now on NuGet.org. Hopefully this project will come back to life at some point and the fixes can be accepted upstream 😄

Thanks! Constant polling is now fixed :1st_place_medal: