【发布时间】:2020-02-14 14:13:29
【问题描述】:
我正在使用 aws sdk 将我的 lambda 中失败的消息发送到死信队列。我想等待几个小时,然后再将消息发送回主队列进行重新处理。我有一个 lambda 附加到我的死信队列。我可以使用延迟将消息发送到死信队列。但最大延迟为 15 分钟。但我想等待更多的时间。以前有人做过吗?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs
我正在使用 aws sdk 将我的 lambda 中失败的消息发送到死信队列。我想等待几个小时,然后再将消息发送回主队列进行重新处理。我有一个 lambda 附加到我的死信队列。我可以使用延迟将消息发送到死信队列。但最大延迟为 15 分钟。但我想等待更多的时间。以前有人做过吗?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs
Amazon SQS 不打算以这种方式使用。它的主要目的是存储消息,然后在请求时将其返回。
其他一些选项:
【讨论】:
如this answer 所示,您可以延长延迟,方法是为每条消息提供一个时间戳,并只处理现在排队一段时间的消息。
message = SQS.poll_messages
if message.perform_message_at > Time.now
SQS.push_to_queue({perform_message_at : "Thursday November
2022"},delay:15 mins)
else
process_message(message)
end
【讨论】: