cron выражение для последних выходных месяца
У меня есть работа, которую нужно выполнить в последние выходные месяца (т. е.), если в конце месяца наступает воскресенье, он должен выполняться в воскресенье, а если месяц заканчивается или в конце субботы, задание должно выполняться в субботу. Я не нашел никакой документации для создания выражения cron для этого случая.
Заранее спасибо.
1 ответ
Ты можешь использовать L
в поле дня недели
0 0 0 ? * SUNL
Это будет срабатывать при каждом последнем СОЛНЦЕ каждого месяца, например
Sunday, August 31, 2014 12:00 AM
Sunday, September 28, 2014 12:00 AM
Sunday, October 26, 2014 12:00 AM
Sunday, November 30, 2014 12:00 AM
Sunday, December 28, 2014 12:00 AM
Я не вижу способа указать последние выходные месяца, поскольку кварц не позволяет объединить L
персонаж с несколькими днями недели. Таким образом, вы не можете сделать что-то вроде SATL,SUNL
, Если вы хотите запускать что-то на каждом последнем SAT и SUN, я бы определил 2 выражения cron.
Из документации по кварцу (специальные символы)
L ("last") - .....
for example "6L" means "the last friday of the month".
Я протестировал его с помощью моего представления выражений cron - плагина, который я написал для eclipse https://github.com/link-intersystems/eclipse-plugins-repository. Может быть, это также полезно для вас,