Как лазурная очередь повторяет неудачное сообщение?

У меня есть эта лазурная функция, запускаемая хранилищем очередей.

function.json:

  "retry": {
    "strategy": "exponentialBackoff",
    "maxRetryCount": 5,
    "minimumInterval": "00:01:00",
    "maximumInterval": "14:00:00"
  }

Если message A не удается,

  • message B обрабатывается, а message A ставится сзади queue.

  • message A повторяется до тех пор, пока не будет выполнено успешно или не будет достигнуто maxRetryCount, а message B с другими сообщениями ожидает завершения функции с message A.

Который правильный?

Не нашел ответа в документах Azure.


person Deivydas Voroneckis    schedule 23.04.2021    source источник


Ответы (1)


Ответ: message B обрабатывается, а message A ставится в конец очереди.

Таким образом, неудачные сообщения помещаются в конец очереди.

Путаница возникает из-за того, что Azure Storage Explorer показывает сообщения, отсортированные по исходному InsertionTime, в то время как фактический порядок выполнения отличается.

введите здесь описание изображения

Как вы видите, message b ранее не выполнялись, и порядок выполнения будет d, e, b, в то время как окно проводника может легко запутаться, показывая только отсортированные по исходному InsertionTime.

person Deivydas Voroneckis    schedule 23.04.2021