amazon-sqs - 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
每当它超过接收计数时,它就会根据上次重试间隔设置下一个可见性超时,这就是它成为无限重试序列的原因。
除了在应用程序端覆盖这些库方法之外,还有什么方法可以摆脱这种情况?
解决方案
推荐阅读
- laravel - Laravel API 5.8 中不允许的方法(PATCH)
- set - 有没有可以处理巨大集合的集合协调算法?
- websphere-liberty - 自由:devc:
不被尊重 - html - 如何将媒体查询应用于带有图像的卡片
- bash - 为什么`avar=7; exec $avar< <(ls)` 让我的 shell 崩溃
- python - 如何在主循环中为 aclass 的每个元素调用一个函数?
- javascript - 如何为多个父母的孩子添加课程?
- kubernetes - Kubernetes 资源文档中的 M 和 Mi 有什么区别?
- javascript - 函数内部循环迭代之间的延迟
- kubernetes - Airflow 2.0.1:Pod 模板覆盖无法按预期为 KubernetesExecutor 工作