Sobes.tech
Back to questions
Junior — Middle
67

Имеете ли опыт работы с библиотекой Quartz для задач по планированию и расписаниями?

Answer from AI

sobes.tech AI

Да, опыт работы с библиотекой Quartz в C# есть. Quartz.NET — это мощная библиотека для планирования задач (job scheduling), которая позволяет создавать, запускать и управлять расписаниями выполнения задач.

Основные возможности:

  • Определение задач (Jobs) и триггеров (Triggers) с гибкими расписаниями.
  • Поддержка Cron-выражений для сложных расписаний.
  • Управление жизненным циклом задач (пауза, возобновление, удаление).

Пример создания простой задачи с запуском по расписанию:

IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler();
await scheduler.Start();

IJobDetail job = JobBuilder.Create<HelloJob>()
    .WithIdentity("job1", "group1")
    .Build();

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("trigger1", "group1")
    .StartNow()
    .WithSimpleSchedule(x => x.WithIntervalInSeconds(10).RepeatForever())
    .Build();

await scheduler.ScheduleJob(job, trigger);

public class HelloJob : IJob
{
    public Task Execute(IJobExecutionContext context)
    {
        Console.WriteLine("Hello, Quartz.NET!");
        return Task.CompletedTask;
    }
}