Amazon SQS 如何控制重试次数

Posted

技术标签:

【中文标题】Amazon SQS 如何控制重试次数【英文标题】:Amazon SQS how to control the number of retries 【发布时间】:2017-06-27 19:57:53 【问题描述】:

我正在配置beanstalk worker environment to deal with periodic tasks

当请求的 URL 没有响应状态为 200 时,Elastic Beanstalk 会将任务再次放入队列中。

如何配置次数或重试次数?

我知道解释隐藏在 ErrorVisibilityTimeoutInactivityTimeoutDead Letter Queues... 背后的某个地方,但这些概念在我低效率的头脑中仍然没有成长。

例如我只想配置最大重试次数0所以有尝试但没有重试。

【问题讨论】:

【参考方案1】:

启用死信队列,并将 DLQ Maximum Receives 值设置为 1。这意味着消息在发送到死信队列之前只能被接收(而不是删除)一次。

更新,添加截图

这个字段在beantalk环境admin中找到Configuration > Worker Configuration > Advanced Options:

或者进入SQS Queue admin进入Queue Actions > Configure Queue

在一处更改值会将更改传播到另一处。

【讨论】:

我在答案中添加了一些屏幕截图,因为我很难找到合适的位置来进行建议的更改。 不错的答案,帮助我发现有一个不活动超时偏好导致我的任务提前结束!

以上是关于Amazon SQS 如何控制重试次数的主要内容,如果未能解决你的问题,请参考以下文章

AWS SQS:延迟使无法处理的消息可用

Amazon Web Services 中的 API 重试逻辑

Spring Data Cassandra如何设置有限的连接重试次数?

如何使用 ActiveJob 设置 Sidekiq 的重试次数?

Spring Cloud Feign 重试机制-如何实现请求重试

Spring中如何配置重试HtmlUnit请求的次数?