Что я делаю не так?
Классы IHostedService зарегистрированы в ASP. net core HostBuilder.
Затем работают в фоновом режиме, даже если у них нет работы.
Там невозможно передать их работу, поэтому я полагаю, что они должны забрать задачи из динамического хранилища c, например, базы данных
Так что, похоже, они опрашивают в основном. Или запустите короткие интервальные таймеры; в поисках работы
Тогда, когда они получают работу, они могут делать только 1 за один раз.
Так что, если мои пользователи (более 100) запускают отчеты в пятницу (или в любой другой день, когда они будут *) 1031 *) служба просто опрашивает базу данных в течение 6,5 дней, а затем регулируется в течение 0,5 дня, чтобы получить более 100 сгенерированных отчетов.
Так как я могу
- контролировать запуск служба IHostedservice
- Запуск более 1 экземпляра службы IHostedservice
- Отправка задач в виде данных в службу IHostedservice (экземпляр)
Furthur к этому Мне понадобится 10+ различных типов IHostedService. (10+ различных типов опроса)
Таким образом, запуск их в фоновом режиме только для опроса базы данных занимает циклы ЦП как на веб-сервере, так и на сервере базы данных