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?