Перейти к содержанию

Установка Quartz.NET в приложение ASP.NET Core

Рассмотрим, как установить планировщик Quartz.NET в приложение ASP.NET Core, который будет работать, как реализация IHostedService, планируя и выполняя задания.

Определение

Задание в Quartz.NET — это выполняемая задача, реализующая интерфейс IJob.

Quartz.NET можно установить как в само приложение ASP.NET Core, так и в воркера. Для этого:

  1. установим NuGet-пакет Quartz.AspNetCore в проект;
  2. добавим необходимые сервисы при помощи метода AddQuartz, также по необходимости настроив использование контейнера зависимостей для получения заданий;
  3. добавим планировщик, вызвав метод 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 г.

Комментарии

Комментарии