Политика повторных попыток отправки сообщений Azure Webjobs

Я пытаюсь выяснить, есть ли способ изменить политику повторных попыток webjobs sdk.

Прямо сейчас, если веб-задание выдает исключение, оно сразу же ставится в очередь. Это не идеально, особенно если ошибка возникла из-за чего-то вроде тайм-аута БД.

Кто-нибудь знает, можно ли изменить политику на что-то вроде экспоненциальной отсрочки? Или так другой обходной путь?


person Garrett Hussey    schedule 14.01.2015    source источник


Ответы (1)


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

person claytondus    schedule 27.01.2015
comment
К такому выводу я пришел после некоторого расследования - хорошо, что это подтвердилось - person Garrett Hussey; 30.01.2015