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. Может быть, это также полезно для вас,

Другие вопросы по тегам