Установка Quartz.NET в приложение ASP.NET Core¶
Рассмотрим, как установить планировщик Quartz.NET в приложение ASP.NET Core, который будет работать, как реализация IHostedService, планируя и выполняя задания.
Определение
Задание в Quartz.NET — это выполняемая задача, реализующая интерфейс IJob.
Quartz.NET можно установить как в само приложение ASP.NET Core, так и в воркера. Для этого:
- установим NuGet-пакет Quartz.AspNetCore в проект;
- добавим необходимые сервисы при помощи метода
AddQuartz, также по необходимости настроив использование контейнера зависимостей для получения заданий; - добавим планировщик, вызвав метод
AddQuartzHostedService(). Также установим параметрWaitForJobsToComplete = true;
Вот пример кода:
public void ConfigureServices(IServiceCollection services)
{
services.AddQuartz(q => q.UseMicrosoftDependencyInjectionScopedJobFactory());
services.AddQuartzHostedService(q => q.WaitForJobsToComplete = true);
}
Далее, если мы запустим наше приложение (через
dotnet run или клавишу F5 в VS), увидим, что планировщик запустился, но заданий пока нет.
Совет
Рекомендуется запускать приложение до добавления заданий, чтобы убедиться, что всё настроено правильно.
Последнее обновление :
12 мая 2023 г.
Дата создания : 12 ноября 2022 г.
Дата создания : 12 ноября 2022 г.