Amazon Simple Queue Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

Amazon SQS 延迟队列

延迟队列可让您将针对队列的新消息传递操作推迟特定的秒数。如果您创建延迟队列,则发送到该队列的任何消息在延迟期间对用户都保持不可见。The minimum delay for a queue is 0 seconds. The maximum is 15 minutes.有关使用 AWS 管理控制台或AWS SDK for Java (和 SetQueueAttributes 操作) 配置延迟队列的信息,请参阅Configuring an Amazon SQS Delay Queue

注意

对于标准队列,每队列延迟设置是不可追溯的 — 更改此设置不会影响队列中已有的消息的延迟。

对于 FIFO 队列,每队列延迟设置是可追溯的 — 更改此设置会影响队列中已有的消息的延迟。

延迟队列类似于可见性超时,因为这两种功能都使得使用者在特定的时间段内无法获得消息。二者之间的区别在于:对于延迟队列,消息在首次添加到队列时 是隐藏的;而对于可见性超时,消息只有在从队列使用后 才是隐藏的。下图说明了延迟队列和可见性超时之间的关系。

要为单条消息 而不是整个队列设置延迟 (以秒为单位),请使用消息定时器以允许 Amazon SQS 使用消息定时器的 DelaySeconds 值,而不是使用延迟队列的 DelaySeconds 值。