私は、指数バックオフによる失敗後に遅延する必要があるタスクを再作成しました。しかし時々指数的バックオフがリセットされるべきである - 仕事が最終目標に向かって進歩するならば、遅れは非常に短くなるはずだが、失敗してもそれは待つべきである。したがってジョブは実行され、失敗した場合は2つの異なる障害モードがあります。 1つの障害モードでは、ジョブはすぐに再試行されますが、バックオフが開始されます。他の障害モードでは、ジョブは以前の試行の前の遅延よりも長く(たとえば2倍)遅延する必要があります。Resque-retryによる指数バックオフのリセット
retry_criteria_check
はこれを行うことができるはずですが、私はResque::Plugins::ExponentialBackoff
と統合する方法がわかりません。私は、誰かがより良い方法を示唆することができない限り、違う例外を投げてさまざまな失敗モードを伝えると仮定しています。
previous_attempt_failureは、前回の失敗のエラータイプであり、一致するものがあるようになります。 – TomDunning