У нас есть приложение ASP.NET Core, используемое внутри, которое используется в рабочее время и пакет, который должен обрабатываться 3 часа утра каждое утро, которое запланировано HangFire
следующим образом:
RecurringJob.AddOrUpdate(
() => MyBatch(),
"0 0 3 1/1 *");
Проблема заключается в том, что пул приложений переходит в спящий режим, и пакет не обрабатывается, если сайт не запускается вручную (обычно переходя на веб-сайт).
Я искал SO и подделывал эти настройки в пуле приложений, но без успеха:
Некоторые источники, которые я использовал для изменения настроек:
- Как предотвратить/расширить idleTimeout в IIS 7?
- https://serverfault.com/info/443065/how-do-i-prevent-iis-8-from-stopping-idle-asp-net-applications
- IIS, похоже, спать до следующего запроса
Пул приложений используется в общей сложности 7 приложениями (все они неактивны в ночное время, когда пакет должен быть обработан). Используемый пул приложений использует .NET CLR Version
2.0
. Я использую IIS версии 10.0.17134.1.
Как я могу заставить Application Pool оставаться активным, чтобы периодичность вызывается регулярно каждое утро?