2017-04-23 122 views
0

我有一个Amazon SQS队列消息不可见的,我试图让这种方式工作:亚马逊SQS - 让x秒

  • 当一个新的消息添加到队列中,只有第一个客户,谁收到该消息将开始工作
  • 对于其他人来说,该消息将是一段时间内看不见

是否有可能做到这一点使用可见性超时?

+1

你试过了什么? –

+2

这恰恰是Amazon SQS的默认行为。 –

回答

1

当消费者接收并处理来自SQS队列的消息时,消息仍然保留在队列中(直到被消费者删除)。为了确保其他消费者不处理相同的消息,您可以设置队列的可见性超时。消费者处理消息后,可以从队列中删除消息。在可见性超时期间,其他消费者将无法接收和处理相同的消息。

0

除了设置长Visibility Timeout以外,没有其他方法可以“锁定”该消息,最长12小时超时。但是,如果您的真正担心还包括错误/崩溃,则可以使用死信队列重新驱动策略来处理无法无限处理的队列内容。