在接收最多10条消息时设置SQS的可见性超时

时间:2016-12-25 15:32:50

标签: amazon-web-services amazon-sqs

ReceiveMessage调用最多可以从队列(http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)返回10条消息。我正在使用长轮询。

我将遍历收到的消息列表并在单个线程中处理它们。这是否意味着我应该将队列的VisibilityTimeout设置为(expected time to process single message) * 10

或者,SQS会自动为我解决这个问题吗?如果是这样,我也很想知道这一点,因为我无法在文档中找到任何澄清。

1 个答案:

答案 0 :(得分:0)

  

这是否意味着我应该为队列设置VisibilityTimeout   (处理单个消息的预计时间)* 10.

  

或者,SQS会自动为我解决这个问题吗?

没有。怎么可能呢?一旦您收到了10条消息,SQS就无法了解您正在使用它们做什么。它不知道是什么构成了#34;处理"您的应用程序中的每条消息。所有SQS都知道它向您的应用程序发送了10条消息。

或者,将MaxNumberOfMessages设置为1,以便您的应用程序一次只能从SQS收到一条消息。