That’s interesting and reminds me of my earlier post concerning the ‘instant requeue’ feature which was introduced in 1.5 (or somewhere like that): SqlServer Instant Re-Queue implementation may be problematic
The problematic point is that this delete statement is executed in a transaction which is left open until the job is finished.
So if you happen to have a job which either runs very long (hours) or maybe just hangs somewhere, it’s exactly the scenario which I would expect and have mentioned in my earlier post.
Unfortunately, I never got an answer to my question and this mechanism might ultimately force us to switch to quartz.net or some other framework because long-running db transactions can really kill all applications running on that database (we don’t use a separate database for hangfire because we need to pay a hefty monthly fee for each database…). That would be a shame as I really like the simplicity and ease of use of hangfire.