Почему функция Azure запускается сеткой событий примерно каждые 2 минуты - PullRequest
0 голосов
/ 06 сентября 2018

Я изучаю служебную шину Azure и Functinos. Я создал пространство имен служебной шины, тему в пространстве имен и подписку на эту тему.

Затем я привязываю сетку событий пространства имен служебной шины к конечной точке функции Azure для обработки сообщений SB.

Когда я отправил несколько сообщений в раздел служебной шины, я могу видеть из «Монитора» функции Azure, что оно срабатывает примерно каждые 2 минуты. Функция ничего не делает, кроме вывода сообщения, не займет много времени. Я ожидал, что эта функция будет срабатывать при отправке сообщений в тему, но, похоже, нет, почему это так?

Кстати, если я хочу сохранить функцию Azure для получения и обработки сообщения одно за другим (не параллельно), как я могу настроить его?

Спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

Это нормальное поведение для EventGrid для служебной шины Azure, которое задокументировано здесь .

События генерируются немедленно, если в сущности служебной шины нет сообщений и приходит новое сообщение. Или события отправляются каждые две минуты, если служебная шина не обнаруживает активный приемник. Просмотр сообщений не прерывает события.

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

Кстати, если я хочу сохранить функцию Azure для получения и обработки сообщения одно за другим (не параллельно), как я могу настроить его?

Функция, связанная с [Singleton], должна выполнять эту работу.

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