我希望使用retries
ActiveJob
作为适配器,在作业失败时限制Sidekiq
的数量。
使用Sidekiq,我可以这样做:
class LessRetryableWorker
include Sidekiq::Worker
sidekiq_options :retry => 5
def perform(...)
end
end
Sidekiq配置不提供全局retry
配置。每个Worker都负责设置retry
选项。所以我想我必须在ActiveJob端实现它才能正确地完成它。
答案 0 :(得分:5)
Sidekiq
提供服务器级配置来处理这种情况。
来自Sidekiq
ruby-doc:
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
chain.add Middleware::Server::RetryJobs, :max_retries => 7
end
end