Skip to main content

Quartz Cron Атрибуты

Механизм Quartz cron поддерживает объявление времени с семью атрибутами со многими возможными значениями. Формат чисел одинаков для каждого выражения, даже если значения разные - он должен быть указан как секунды, минуты, часы, день месяца, месяц, день недели, затем год. Каждый атрибут отделяется пробелом.

Это возможные значения для каждого атрибута: от 0 до 59 для секунд и минут, от 0 до 23 для часов, от 1 до 31 для дней, от 1 до 12 для месяцев, от 1 до 7 для дня недели и четырехзначного года. В качестве альтернативы вы можете использовать трехбуквенные значения для дня недели (ПН, ВТ, СР, ЧТ, ПТ, СБ, ВС) и трехбуквенные значения для месяца (ЯНВ, ФЕВ, МАР, АПР, МАЙ, ИЮН, ИЮЛ, АВГ, СЕН, ОКТ, НОЯ, ДЕК).

Звездочка (*) обозначает все значения, поэтому звездочка в поле минут означает, что отчёт запускается раз в минуту. Вы можете указать диапазон значений с помощью оператора - (тире), и вы можете указать несколько отдельных значений через запятую. Если вам нужно исключить значение в поле дня месяца и дня недели из задания cron, вы можете использовать знак вопроса (?), Чтобы указать, что это значение не имеет значения. Если вам нужно разделить значения, вы можете сделать это с помощью символа косой черты (/) - этот оператор буквально означает «каждый», поэтому */15 будет означать «Каждые 15». В поле дня месяца вы можете использовать символ # для обозначения определенного экземпляра дня месяца, например, вторая пятница месяца будет 6#2. Наконец, вы можете использовать заглавную букву L в поле дня месяца и дня недели, чтобы указать «Последний», как в последний день недели. Заглавная буква C в любом из этих полей означает «Календарь» и в сочетании с числом означает, что отчёт должен выполнять интервал, указанный числом C, в соответствии с загруженным календарем. Заглавная W в атрибуте дня месяца означает "будний день", который охватывает только понедельник - до пятницы. Большинство этих значений можно комбинировать для создания необычных расписаний cron.

Атрибут

Условия и операторы

Секунды

, - * /

Минуты

, - * /

Часы

, - * /

День месяца

, - * ? / L W C

Месяц

, - * /

День недели

, - * ? / L C #

Год

, - * /

Вот как вы должны составлять отчёт в 10:15 каждую последнюю пятницу каждого месяца в течение 2008, 2009, 2010, 2011, 2012 и 2013 годов.

0 15 10 ? * 6L 2008-2013

Вы можете найти более подробную информацию, включая примеры, здесь:

http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html

Вот хорошая страница, которая помогает писать и тестировать выражения Quartz Cron:

https://www.freeformatter.com/cron-expression-generator-quartz.html#