gpt4 book ai didi

ruby-on-rails - Sidekiq 仅在生产环境中重试

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:18 25 4
gpt4 key购买 nike

我有大约十几个 sidekiq worker 对象,它们通过 clockwork gem 定期排队(每天大约 10,000 个工作——不是一吨)。一切都很好。

问题是在开发过程中我很容易在我的代码中犯错误。如果我将 retry 选项排除在外,那些失败的作业将继续尝试,用失败淹没我的开发 sidekiq 日志。

我想知道我是否可以在开发模式下关闭 retry 或者如果我在本地杀死 sidekiq 是否可以清除所有作业(我正在考虑数据库清理器在测试中的工作方式)。我读过 error handling但并没有真正看到我的主题。

例如:

class DailyActivityWorker
include Sidekiq::Worker

def perform(id)
#make some call to an API
#save parts of that call to the database
end
end

我知道我可以将它添加到每个 worker 中,但这似乎是多余的

  sidekiq_options retry: false if Rails.env.development?

有没有更好的方法来解决这个问题?

最佳答案

您应该能够通过修改默认的 worker 选项将它们设置在一个地方:

https://github.com/mperham/sidekiq/wiki/Advanced-Options#workers

例如,config/initializers/sidekiq.rb:

if Rails.env.development?
Sidekiq.default_worker_options = { retry: false }
end

关于ruby-on-rails - Sidekiq 仅在生产环境中重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27319666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com