如何在sidekiq中正确处理作业失败
How to handle job failure properly in sidekiq
我有一个对数据库数据进行一些处理的应用程序,有时我会在两个线程之间出现乐观并发错误。我应该如何使用 sidekiq 来处理它?
现在我抛出异常使作业失败并让 sidekiq 稍后重试,但也许它不是最优的?
有没有其他方法可以更优雅地失败作业?
干杯
此方法是正常的解决方案,您可能唯一想做的就是更新重试时间。只需添加到您的工作人员即可。
sidekiq_retry_in do |count|
10 * (count + 1) # (i.e. 10, 20, 30, 40)
end
sidekiq 文档中的更多信息:https://github.com/mperham/sidekiq/wiki/Error-Handling
我有一个对数据库数据进行一些处理的应用程序,有时我会在两个线程之间出现乐观并发错误。我应该如何使用 sidekiq 来处理它?
现在我抛出异常使作业失败并让 sidekiq 稍后重试,但也许它不是最优的?
有没有其他方法可以更优雅地失败作业?
干杯
此方法是正常的解决方案,您可能唯一想做的就是更新重试时间。只需添加到您的工作人员即可。
sidekiq_retry_in do |count|
10 * (count + 1) # (i.e. 10, 20, 30, 40)
end
sidekiq 文档中的更多信息:https://github.com/mperham/sidekiq/wiki/Error-Handling