Почему сообщения очереди Azure живут менее нескольких секунд?

В Azure (или из VS) диалоговое окно для создания новых сообщений внутри очереди сообщает, что срок действия сообщения истекает через 7 дней, но он исчезает менее чем за несколько секунд. Почему? (Я создал непрерывно работающее веб-задание, как описано в Эта статья)

Веб-задание сразу начало обрабатывать сообщение? Это работает так: когда оно начинает обработку, сообщение на некоторое время скрывается из очереди, а затем снова становится видимым, если обработка не завершена вовремя или завершается с ошибкой.

juunas 17.08.2018 10:27
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
1
92
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Сообщение исчезнет, ​​потому что оно было использовано вашим веб-заданием. Задержка хранения означает, что у вас есть X дней для использования сообщения (в вашем случае 7 дней). По истечении задержки сообщение автоматически удаляется.

Если вам нужно несколько потребителей для ваших сообщений, вместо очереди, вы можете использовать служебную шину с подпиской или темами или концентратор событий с группами потребителей.

Вы также можете добавить initialVisibilityDelay, если ваша цель - искусственно отложить потребление - см. stackoverflow.com/a/45631083/4148708

evilSnobu 17.08.2018 10:59

Сообщения остаются в очереди служебной шины или подписке на тему до тех пор, пока они не будут обработаны, т. Е. Получены в режим приема и удаления получателем.

Сообщение не будет удалено из очереди, если оно получено в режиме блокировки просмотра.

В вашем случае, поскольку сообщение обрабатывается веб-заданием, оно не было доступно в очереди.

Сообщения также имеют свойство время жить по умолчанию, которое может быть установлено, после чего сообщение будет перемещено по пути недоставленных сообщений того же объекта обмена сообщениями (очередь или подписка на тему). utc будет перемещен в путь мертвой буквы с указанием причины мертвой буквы TTLExpiration

Другие вопросы по теме