Azure WebJob внезапное завершение работы во время обработки - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть непрерывная веб-работа Azure, для которой установлено значение «Всегда включено».Предполагается, что этот WebJob обрабатывает новые сообщения, добавляемые в очередь хранения.

Мне интересно, что если по какой-то причине WebJob перестал работать во время обработки триггера очереди.Таким образом, я потеряю сообщение из очереди, и оно не перейдет в очередь отравления.

Как мне обойти это?

1 Ответ

0 голосов
/ 27 ноября 2018

Мне интересно, что если по какой-то причине WebJob перестал работать во время обработки триггера очереди.

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

Что касается вашего требования об уведомлении, то работа закрывается.Вы можете использовать Graceful Shutdown и прослушать CancellationToken, вы можете передать вам вызванную функцию и оценить значение свойства IsCancellationRequired, тогда вы сможете обработать WebJob, который отключится, Здесь - пример кода CancellationToken.

...