首页 > 解决方案 > shoryuken 工作人员在失败后以最后一次重试间隔无限次重试

问题描述

我正在使用 shoryuken_options retry_intervals: [120, 240] 根据维基https://github.com/ruby-shoryuken/shoryuken/wiki/Worker-options#retry_intervals但注意到失败后,第一次和第二次重试尝试为预期的,但在第二次重试后,该消息也在每 240 秒后继续重试(即与上次重试间隔相同)。

虽然调试发现这段代码是这个问题的可能原因。 https://github.com/ruby-shoryuken/shoryuken/blob/master/lib/shoryuken/middleware/server/exponential_backoff_retry.rb#L33-L59

在此处输入图像描述 每当它超过接收计数时,它就会根据上次重试间隔设置下一个可见性超时,这就是它成为无限重试序列的原因。

除了在应用程序端覆盖这些库方法之外,还有什么方法可以摆脱这种情况?

标签: amazon-sqsshoryuken

解决方案


推荐阅读