问题
I would like to limit the number of retries
when a job fails using ActiveJob
with Sidekiq
as adapter.
Using Sidekiq, I can do that:
class LessRetryableWorker
include Sidekiq::Worker
sidekiq_options :retry => 5
def perform(...)
end
end
Sidekiq configuration doesn't provide a global retry
config. Each Worker is responsible of setting the retry
option. So I guess I have to implement it in ActiveJob side to do it properly.
回答1:
Sidekiq
provide a server-level config to handle this case.
From Sidekiq
ruby-doc:
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
chain.add Middleware::Server::RetryJobs, :max_retries => 7
end
end
来源:https://stackoverflow.com/questions/28214334/how-to-limit-the-failed-job-retry-counter-with-activejob-and-sidekiq