AWS SQS 接收消息——如何知道队列何时为空
AWS SQS Receive Messages -- How to Know when Queue is Empty
我想获取队列中的所有消息来处理它们。但是 MaxNumberOfMessages 的 属性 是 10(根据文档)
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html
我如何读入所有消息以便处理它们?或者我怎么知道队列何时为空?
谢谢
当您从队列中收到条消息时,它们被标记为"in flight."在您成功处理它们之后,您向队列发送一个调用到删除 他们。此调用将包含每条消息的 ID。
当队列为空时,下一次读取将有一个空的Messages
数组。
通常,当我这样做时,我会将读取队列的调用包装在一个循环中(while
循环),并且只有在读取后有 Messages
时才继续处理。
如果它是 FIFO 队列或标准队列,应该没有任何区别。
我想获取队列中的所有消息来处理它们。但是 MaxNumberOfMessages 的 属性 是 10(根据文档)
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html
我如何读入所有消息以便处理它们?或者我怎么知道队列何时为空?
谢谢
当您从队列中收到条消息时,它们被标记为"in flight."在您成功处理它们之后,您向队列发送一个调用到删除 他们。此调用将包含每条消息的 ID。
当队列为空时,下一次读取将有一个空的Messages
数组。
通常,当我这样做时,我会将读取队列的调用包装在一个循环中(while
循环),并且只有在读取后有 Messages
时才继续处理。
如果它是 FIFO 队列或标准队列,应该没有任何区别。