2015-01-14 2 views
3

Я пытаюсь выяснить, есть ли способ изменить webjobs sdk retry policy.Azure Webjobs ошибка политики повторения сообщений

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

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

ответ

2

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

+0

Это заключение, которое я пришел и после некоторого расследования - хорошо, чтобы это подтвердилось –

Смежные вопросы