Я видел, что эта проблема много выражена, но мне еще не удалось найти рабочее решение.
Короче говоря, мне периодически приходится выполнять большой пакет операций. Каждая операция обрабатывается функцией Azure. Каждая операция совершает вызовы в базу данных. Если у меня одновременно работает слишком много одновременных функций, это приводит к перегрузке базы данных, и я получаю ошибки тайм-аута. Итак, я хочу иметь возможность ограничить количество одновременных вызовов функций Azure, которые выполняются одновременно.
Я переключил функцию для запуска в очередь и изменил настройки хоста batchSize / newBatchThreshold / maxDequeueCount host.json, основываясь на том, что я видел в Интернете. Я также установил для приложения функции WEBSITE_MAX_DYNAMIC_APPLICATION_SCALE_OUT значение 1 в настройках приложения-функции, чтобы предотвратить создание более одной виртуальной машины.
Тем не менее, каждый раз, когда я заполняю эту очередь, несколько функций появляются без разбора, и моя база данных падает.
Как мне уменьшить количество одновременных операций?