AWS SQS Получение сообщений - Как узнать, когда очередь пуста - PullRequest
0 голосов
/ 07 мая 2018

Я хочу получить все сообщения в очереди для их обработки. Однако свойство MaxNumberOfMessages равно 10 (на основе документации)

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html

Как я могу прочитать все сообщения, чтобы я мог их обработать? Или как узнать, когда очередь пуста?

спасибо

1 Ответ

0 голосов
/ 07 мая 2018

Когда вы получаете сообщения из очереди, они помечаются как «в полете». После того, как вы успешно обработаете их, вы отправляете вызов в очередь на удаление их. Этот звонок будет включать идентификаторы каждого из сообщений.

Когда очередь пуста, следующее чтение будет иметь пустой массив Messages.

Обычно, когда я делаю это, я оборачиваю свой вызов для чтения очереди в цикле (цикл while) и продолжаю обработку, только если у меня есть Messages после выполнения чтения.

Это не должно иметь никакого значения, если это очередь FIFO или стандартная.

...