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

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


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


Ответы (2)


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

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

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

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

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

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

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

person Ranjith Eswaran    schedule 17.08.2018