Веб-задания Azure, триггер очереди служебной шины Azure предотвращают удаление сообщения - PullRequest
0 голосов
/ 27 марта 2019

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

Сможем ли мы выдать исключение, чтобы сообщение не было удалено из очереди и было повторено по истечении определенного периода времени?

Ценю ваш отзыв.

1 Ответ

1 голос
/ 27 марта 2019

Вам не нужно явно определять логику повтора. Когда сообщение выводится из очереди служебной шины, оно становится невидимым из очереди в течение определенного периода времени (время блокировки по умолчанию 30 секунд, вы можете настроить его). Вы пытаетесь обработать сообщение, если оно становится успешным, вы просто вызываете BrokeredMessage.CompleteAsync, что означает, что я закончил, и пометьте это сообщение как завершенное. Если у вас есть проблемы в нисходящем потоке, вы можете отказаться от сообщения, вызвав BrokeredMessage.AbandonAsync. Это разблокирует сообщение, и оно снова появится в очереди. Сообщение снова будет принято работником и обработано. Пока вы не добьетесь успеха или не достигнете максимального предела повторов, после которого сообщение отправляется в очередь недоставленных сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...