You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a feature request to implement SlidingInvisibilityTimeout.
Every now and then we run into issues with the InvisibilityTimeout for "long-running" jobs, which gets cancelled when the timeout is reached and then requeued. If the job does not implement the CancellationToken properly, it keeps running in the background while the new job is enqueued and duplicate processing occurs - there are some remedies for that as well, but none without some caveats.
Increasing the timeout also has its caveats as it might result in jobs not being executed for many hours in case of hard-failure on server/process.
The PostgreSQL provider has the same issue, which also explains the issue better/in more detail, and how the SQLServer provider has solved it:
Hi and thanks for a great library! :-)
This is a feature request to implement SlidingInvisibilityTimeout.
Every now and then we run into issues with the InvisibilityTimeout for "long-running" jobs, which gets cancelled when the timeout is reached and then requeued. If the job does not implement the CancellationToken properly, it keeps running in the background while the new job is enqueued and duplicate processing occurs - there are some remedies for that as well, but none without some caveats.
Increasing the timeout also has its caveats as it might result in jobs not being executed for many hours in case of hard-failure on server/process.
The PostgreSQL provider has the same issue, which also explains the issue better/in more detail, and how the SQLServer provider has solved it:
And there is a pull-request for implementing SlidingInvisibilityTimeout for inspiration if someone wants to implement it here:
The text was updated successfully, but these errors were encountered: