指数関数的バックオフで失敗した後に遅延する必要がある resque タスクがあります。ただし、指数バックオフをリセットする必要がある場合もあります。ジョブが最終的な目標に向かって進行している場合は、遅延を非常に短くリセットする必要があります。したがって、ジョブは実行され、失敗した場合、2 つの異なる失敗モードがあります。1 つの失敗モードでは、すぐにジョブを再試行する必要がありますが、その後バックオフを開始します。他の失敗モードでは、ジョブは前回の試行前の遅延よりも長く (たとえば 2 倍) 遅延する必要があります。
これretry_criteria_check
ができるはずのようですが、 と統合する方法がわかりませんResque::Plugins::ExponentialBackoff
。誰かがより良い方法を提案できない限り、さまざまな例外をスローすることでさまざまな障害モードを伝えると思います。