デフォルトでは、Sidekiqは指数バックオフでジョブを25回リトライします。デフォルトのリトライ回数とデフォルトの指数バックオフの両方の設定を変更しようとしています。
私はあなたがSidekiq:すべてのワーカーの指数バックオフを設定する
sidekiq_optionsでクラスレベルでそれらの両方を変更することができることを参照してください。私は、アプリケーション全体のためにこれらのデフォルトを変更したい
class WorkerWithCustomRetry
include Sidekiq::Worker
sidekiq_options :retry => 5
sidekiq_retry_in do |count|
10 * (count + 1) # (i.e. 10, 20, 30, 40)
end
def perform(...)
end
end
sidekiq_retry_in
と
を再試行してください。すべてのクラスにオーバーライドを追加しないでください。 私はグローバル指数バックオフを変更する方法のいずれかの例を見つけることができませんしかし
Sidekiq.configure_server do |config|
config.server_middleware do |chain|
chain.add Sidekiq::Middleware::Server::RetryJobs, :max_retries => 5
end
end
を使用して、デフォルトの最大再試行回数を変更する方法を見つけました。
これは可能ですか?
ありがとうございました
感謝。同様の方法で指数バックオフを設定する方法はありますか? – Rex
私はこの方法をモンキーパッチします:https://github.com/mperham/sidekiq/blob/master/lib/sidekiq/middleware/server/retry_jobs.rb#L177 –
素晴らしいです。ありがとうございました – Rex