Amazon SQS保留期

tae*_*esu 1 amazon-sqs amazon-web-services

考虑一个队列。

我的队列中有j1 ... jn个作业(或消息)。

我知道j完成时,在这种情况下,我将其删除。

我还知道j何时未完成,在这种情况下,我没有故意删除它们,因此它又回到了队列中。

我想永远将未完成的工作排在队列中,但是,我知道j有一个保留期。我也知道DLQ,但不希望实现它,因为它不是错误(无需查找和调试)。

我的问题是:

  1. 将为已读取且从未删除的作业分配新的保留期限(在读取之后或重新排队之后)吗?
  2. 删除一条消息并发送具有相同指令(或消息正文)的消息是否会有刷新的保留期?

Joh*_*ein 5

消息在Amazon SQS队列中的最长保留期为14天。这是从放入队列的时间开始的,无论是否已读取队列以及可见性是否已更改。(诚​​然,我找不到任何专门说明此情况的文档。)

如果从队列中删除了一条消息,并且有新消息发送到队列中,那么该新消息将被视为具有自己保留期限另一条消息

因此,从理论上讲,您可以接收,删除和发送消息以将其“保留”在队列中,但这确实违反了队列的体系结构目的。如果您长时间保留信息,则建议使用某种形式的数据库