amazon-web-services - AWS SQS : Delay making available a message that failed to process

标签 amazon-web-services amazon-sqs

这是我的场景:

  • 我有一个处理大量任务的 SQS 队列。这些任务可能而且经常会失败。他们的失败很常见,而且在某种程度上是意料之中的。
  • 当任务失败时,我想在一定时间后重试,并在重试一定次数后将项目放入 DLQ 中。我不想立即重试。

我有一个处理这些任务的工作 EB 应用程序。当它成功时,我返回 200(任务成功地从队列中移除)。当它失败时,我返回 404,任务立即返回到队列中(因此,立即重试)。这不是我们想要的,我想在重试之前延迟这个失败的项目。

是否可以结合使用可见性超时和延迟队列来做到这一点?

最佳答案

您可以使用 SQS 在您刚刚处理失败的消息上调用 ChangeMes​​sageVisibility 并将 VisibilityTimeout 设置为您想要的任何值来本地执行此操作:http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html

关于amazon-web-services - AWS SQS : Delay making available a message that failed to process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32465104/

相关文章:

amazon-web-services - SNS 可以路由到多个 SQS 延迟队列之一吗?

amazon-web-services - Amazon AWS : FIFO SQS, 什么被视为交易?

java - 如何使用 Amazon SQS 和 SNS 发送多封电子邮件?

amazon-web-services - 是否可以使用cloudformation来更新通过aws sdk创建的队列

java - 堆栈在 ec2 实例上不存在错误,但在本地工作正常

amazon-web-services - SageMaker 模型监控器和 SageMaker Clarify

node.js - AWS抛出CORS

tomcat - AWS - 显示 Tomcat 默认页面而不是 webapp 主页

python - 使用 elasticbeanstalk 部署 Flask 时出现 AWS mod_wsgi 错误

amazon-web-services - AWS S3 服务器端加密访问被拒绝错误