30歳パパエンジニアのアウトプット帳

30歳に突入した1児のパパエンジニアのブログ

ActiveJob with sidekiqでリトライをしないようにする

非同期処理のど定番のsidekiq。

それをActiveJob経由で使っている場合は、sidekiq_optionsが使えないので細かな設定ができない。

今回、sidekiqにするにしたがってリトライは現時点では全てのジョブで不要なので、リトライしないようにしたかった。

結論としてはconfig/initializers/sidekiq.rbにSidekiq.options[:max_retries] = 0を設定してあげればいい。


sidekiqのwikiでこの設定見当たらなかったので、ソース調べたら見つけた。

https://github.com/mperham/sidekiq/blob/v5.1.3/lib/sidekiq/job_retry.rb#L46-L49

デフォルトが25らしいので、それを変更する際にもこの設定方法でいいと思われる。