Если вам нужно отправлять уведомления по одному, то невозможно отправить их всем пользователям одновременно. Тем не менее, вы можете уменьшить разрыв, но это может быть или не быть простой задачей в зависимости от количества пользователей, которые у вас есть.
Регулирование
Конечно, вы должны принять во внимание регулирование , Как сказал @ Nikitha-MSFT в комментариях, вы получите ошибки HTTP 429, как только будет достигнуто ограничение скорости. И вам нужно правильно обработать их и повторить неудачные уведомления.
Правильный уровень параллелизма
Вам нужен масштабируемый веб-задание. То есть ваш веб-задание может быть запущено и обработано несколько партий одновременно. Например, измените свою веб-работу на запущенную очередь сообщений (если это не так), чтобы она могла обрабатывать несколько сообщений очереди, каждое из которых содержит одно или несколько уведомлений одновременно.
Например, у вас может быть два веб-задания :
WebJob A - запускается по таймеру / HTTP-запросу, находит всех пользователей, которым необходимо уведомить и создать сообщение очереди для каждого найденного пользователя
WebJob B - запускается по очереди, обрабатывает сообщение и отправляет уведомление
Каждый узел задания может обрабатывать 32 сообщения очереди как максимум асинхронно. Таким образом, теоретически вы можете отправлять 32 пакета уведомлений одновременно для каждого хоста задания.
Предполагая, что вы еще не достигли предела регулирования, вы можете начать рассматривать увеличение ресурсов:
Уменьшить
У вас есть один хост веб-заданий для каждой службы приложения. Вы можете масштабировать службу приложения, чтобы иметь несколько экземпляров, чтобы получить больше экземпляров хоста работы. Чем больше у вас экземпляров, тем быстрее вы сможете очистить сообщения в очереди, тем быстрее вы сможете отправлять уведомления.
Увеличение
Это также возможно что вы можете столкнуться с узким местом в плане обслуживания вашего приложения, как это сделал post . В этот момент вам необходимо рассмотреть возможность обновления вашего плана до другого уровня, чтобы получить больше энергии, например, CPU.