はじめに
SidekiqでJobを実行して、エラーが発生すれば、リトライをしてくれます。
しかもデフォルトで、25回
も...!!
なので、明示的に設定を行っていないと、25回もリトライされてしまうので、通知するように設定していたら...
イベント数がとんでもないことになってしまいますね。
(※ 自分がそうでした...)
反省も含めて、アウトプットいたします。
config/sidekiq.yml に設定
上記ファイルに、以下のように記載いたします。
:max_retries: 10
上記のように記載すると、デフォルト値を変更して、最大で10回リトライしてくれます。
また、Job別にリトライ数を設定することもできます。
各Jobにも設定可能
class HogeJob < ApplicationJob
queue_as :hoge
sidekiq_options retry: 10
def perform
fuga.hogehoge
end
end
sidekiq_options retry: 10
を記載すると、各Jobごとでリトライ数を設定することができます。
まとめ
- まとめて設定したいときは、
config/sidekiq.yml
- 各Jobごとは、Jobファイルごと
上記のようになります。
皆さんも、SidekiqでJobの実装をした際には、忘れずにリトライ数を設定しましょう。
最後までご覧いただき、ありがとうございました。