Jobs scheduled to be enqueued are not being enqueued

Continuing the discussion from GetFirstByLowestScoreFromSet:

I had a similar problem to the one described in the above issue report (as well as this one), where jobs would be scheduled to be re-queued but they never would be. I also noted the same issue where there were rows in the Set table that did not have real job IDs. I don’t know how they ended up there, but manually removing them allowed all the scheduled work to run without issue.

Since I wasn’t sure how the erroneous records were getting into the Set table in the first place, my method for reproducing the problem was to simply create one manually. This allowed be to see the issue on my local development environment.

The application was using an older version of Hangfire, so we have upgraded it to use 1.5.3. However, even after upgrading, when I manually insert one of these bad rows into the Set table, the same issue occurs (no other jobs scheduled to be enqueued are ever enqueued). My impression was that the fix in 1.4.6 would remove those bad rows when they were encountered, allowing other jobs to be enqueued.

I’m not certain if this means the issue was not really fixed, or if my reproduction of the problem was not accurate and the issue fixed was a different one. Could I get some clarification?

I’m not sure exactly what the current status is, when I upgraded to 1.5 originally I saw a recurrence of the problem. However going to 1.5.3 I haven’t seen it happen again.

Not sure if that means it is fixed or if I just haven’t had the right conditions in awhile. Your testing would seem to indicate the bug was reintroduced at some point.

I may try shuffling the versions around a bit locally when I get a chance and see if it is some kind of regression. Thanks for the reply.