Шаблоны Quartz для WithCronSchedule

  • Михаил
  • 8 мин. на прочтение
  • 78
  • 23 May 2022
  • 23 May 2024

Вот несколько примеров использования различных Cron-выражений в Quartz.NET для C#:

1. Срабатывание каждую минуту:

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .WithCronSchedule("0 * * * * ?")
    .Build();

2. Срабатывание каждый час в 0 минут:

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .WithCronSchedule("0 0 * * * ?")
    .Build();

3. Срабатывание каждый день в 12:00:

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .WithCronSchedule("0 0 12 * * ?")
    .Build();

4. Срабатывание каждый понедельник в 12:00:

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .WithCronSchedule("0 0 12 ? * MON")
    .Build();

5. Срабатывание каждый 1-й и 15-й день месяца в 12:00:

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .WithCronSchedule("0 0 12 1,15 * ?")
    .Build();

6. Срабатывание в 12:00 каждый рабочий день (Понедельник-Пятница):

ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .WithCronSchedule("0 0 12 ? * MON-FRI")
    .Build();

Cron-выражение состоит из 6 или 7 частей, разделенных пробелами:

1. Секунды (0-59)
2. Минуты (0-59)
3. Часы (0-23)
4. День месяца (1-31)
5. Месяц (1-12 или JAN-DEC)
6. День недели (1-7, 1=Sunday или SUN-SAT)
7. Год (необязательно)

Символ "?" используется, когда вам не нужно указывать определенное значение для этого поля.

Вы можете использовать эти примеры в качестве основы для создания своих собственных расписаний срабатывания Cron-триггеров в Quartz.NET.