Функции Azure, запускаемые по времени, запускаются только в одном экземпляре - PullRequest
0 голосов
/ 11 мая 2018

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

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

Кстати, я использую слот функции Azure.

Спасибо.Lidong

1 Ответ

0 голосов
/ 11 мая 2018

Триггеры таймера - не лучшее решение для балансировки нагрузки вашей рабочей нагрузки.

Когда ваше приложение Function запускается, первый экземпляр получает блокировку и запускает все задания таймера. Когда появляется второй экземпляр, он не добавляет никакого немедленного значения, потому что блокировки уже сняты.

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

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

...