Триггер очереди функций Azure выполняется несколько раз - PullRequest
0 голосов
/ 26 июня 2018

У меня есть функция Azure, запущенная из очереди хранения. Поведение функции заключается в создании около 10 000 дополнительных сообщений в другую очередь хранения для выполнения другой функции (в том же приложении функции). Я вижу какое-то странное поведение, когда оно выполняется, когда первая функция выполняется несколько раз. Я наблюдал это, наблюдая за очередью, которую он публикует, чтобы получать значительно больше сообщений, чем ожидалось.

Я понимаю, что функцию следует кодировать с защитой (то есть ожидать выполнения несколько раз), но это происходит последовательно каждый раз, когда выполняется первая функция. Я не думаю, что повторные исполнения происходят из-за того, что время ожидания или сбой (в соответствии с пониманием приложения).

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

1 Ответ

0 голосов
/ 26 июня 2018

Блокировка исходного сообщения, которое запускает первую функцию Azure для выполнения, вероятно, истекает. Это заставит очередь предполагать, что обработка сообщения не удалась, и затем будет использовать это сообщение, чтобы снова запустить функцию. Возможно, вы захотите обновить блокировку сообщений во время отправки 10000 сообщений в следующую очередь.

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

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