我使用hangfire 来运行重复的工作。我的工作是从数据库中获取当前数据,执行操作并跟踪已处理的记录。如果这一分钟没有运行作业 - 我不需要在下一分钟运行两次。
不知何故,我让我的重复性工作(1 分钟周期)被成千上万的人排队,从未执行过。当我重新启动我的 IIS 时,它试图一次执行它们并阻塞数据库。
除了解决不执行的问题,有没有办法阻止他们排队?
我使用hangfire 来运行重复的工作。我的工作是从数据库中获取当前数据,执行操作并跟踪已处理的记录。如果这一分钟没有运行作业 - 我不需要在下一分钟运行两次。
不知何故,我让我的重复性工作(1 分钟周期)被成千上万的人排队,从未执行过。当我重新启动我的 IIS 时,它试图一次执行它们并阻塞数据库。
除了解决不执行的问题,有没有办法阻止他们排队?
如果您想禁用失败作业的重试,只需用 an 装饰您的方法并将其AutomaticRetryAttribute
设置Attempts
为 0
有关更多详细信息,请参阅 https://github.com/HangfireIO/Hangfire/blob/master/src/Hangfire.Core/AutomaticRetryAttribute.cs