0
我有需要指数退避失败后延迟resque任务。但有时指数退避应该是复位 - 如果工作让朝最终目标取得进展,延迟应该被重置为很短,但如果它被卡住的失败,应该继续等待。所以这项工作将会运行,如果失败了,会有两种不同的失败模式。在一种失败模式下,工作应该很快重新开始,但随后开始退休。在另一种失败模式下,作业应比上一次尝试之前的延迟延迟更长时间(比如2x)。重置指数退避与Resque重试
看来retry_criteria_check
应该可以做到这一点,但我不知道如何将其与Resque::Plugins::ExponentialBackoff
整合。我假设我会通过抛出不同的例外来传达不同的失败模式,除非有人能提出更好的方法。
previous_attempt_failure将是之前失败的错误类型,以便我们有一些匹配的东西。 – TomDunning 2012-03-17 09:53:10