我想在Sidekiq中配置全局重试限制以限制重试次数。默认情况下,Sidekiq limits the number of retries to 25但是我希望将所有Worker设置得更低,以防止在工作人员上没有明确指定限制时的长默认最大重试周期。
答案 0 :(得分:7)
Sidekiq.default_worker_options['retry'] = 10
https://github.com/mperham/sidekiq/wiki/Advanced-Options#workers
答案 1 :(得分:4)
答案 2 :(得分:1)
这个值是http://codepen.io/vanuatu/pen/VeQMpp而且(AFAIK)没有漂亮的设置器,所以你走了:
Sidekiq.options[:max_retries] = 5
可能会在中间件初始化程序stored in options
中为RetryJobs
设置。
答案 3 :(得分:1)
当前正在努力进行此设置,以限制我们的登台环境所产生的错误噪声数量(为了尽量低于我们的错误处理服务限制)。似乎在更改金额时密钥现在为max_retries
,而retry
是布尔值,表示是否应重试还是直接进入“死”队列。
https://github.com/mperham/sidekiq/wiki/Error-Handling#automatic-job-retry
这是我的Sidekiq配置文件中所显示的内容:
if Rails.env.staging?
Sidekiq.default_worker_options['max_retries'] = 5
end
更新:本来可能是我自己的困惑,但是由于某种原因,default_worker_options
似乎并没有为我工作。我最终将其更改为此,并且按预期工作。失败的作业直接进入Dead
队列:
Sidekiq.options[:max_retries] = 0
答案 4 :(得分:0)
您可以在初始化程序中使用Sidekiq.default_worker_options
。所以设置一个下限就是
Sidekiq.default_worker_options = { retry: 5 }