ReceiveMessage
调用最多可以从队列(http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html)返回10条消息。我正在使用长轮询。
我将遍历收到的消息列表并在单个线程中处理它们。这是否意味着我应该将队列的VisibilityTimeout
设置为(expected time to process single message) * 10
。
或者,SQS会自动为我解决这个问题吗?如果是这样,我也很想知道这一点,因为我无法在文档中找到任何澄清。
答案 0 :(得分:0)
这是否意味着我应该为队列设置VisibilityTimeout (处理单个消息的预计时间)* 10.
是
或者,SQS会自动为我解决这个问题吗?
没有。怎么可能呢?一旦您收到了10条消息,SQS就无法了解您正在使用它们做什么。它不知道是什么构成了#34;处理"您的应用程序中的每条消息。所有SQS都知道它向您的应用程序发送了10条消息。
或者,将MaxNumberOfMessages
设置为1
,以便您的应用程序一次只能从SQS收到一条消息。