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