Disable automatic retry with ActiveJob, used with Sidekiq

Jules Ivanic picture Jules Ivanic · Feb 9, 2015 · Viewed 15.3k times · Source

Is there a way to disable automatic retry with ActiveJob and Sidekiq ?

I know that with Sidekiq only, we just have to put

sidekiq_options :retry => false

as mentioned here : https://github.com/mperham/sidekiq/wiki/Error-Handling#configuration

but it doesn't seem to work with ActiveJob and Sidekiq.

I also know the solution to entierly disable the retry as proposed here : https://stackoverflow.com/a/28216822/2431728

But it's not the behavior I need.

Answer

Jules Ivanic picture Jules Ivanic · Feb 10, 2015

Ok thanks for the answer.

Just for information, I also asked the question in an issue related to this subject on ActiveJob Github repository : https://github.com/rails/activejob/issues/47

DHH answered me a solution I haven't tested but that can do the job.

Personnally, I finally put this in an initializer in order to disable Sidekiq retries globally and it works well :

Sidekiq.configure_server do |config|
   config.server_middleware do |chain|
      chain.add Sidekiq::Middleware::Server::RetryJobs, :max_retries => 0
   end
end