выражение cron для запуска задания в указанное время?

Я использую Spring Quartz, и у меня есть работа, которая запускает every 10 mins. Он работает нормально без каких-либо проблем, используя выражение cron.

Но теперь у меня ниже требования.

Он должен запускаться каждые 10 минут, но не должен работать в течение времени, указанного ниже.

Sat 5pm to Sun 9am
Sun 5pm to Mon 9am

Как я могу написать выражение cron, чтобы удовлетворить вышеуказанное условие, используя одно выражение cron? Задание должно запускаться каждые 10 минут, но оно не должно выполняться в течение времени, указанного выше.

Спасибо!


person user755806    schedule 10.10.2013    source источник
comment
Я думаю, что здесь силы выражения cron недостаточно. Я бы не стал рекомендовать обрабатывать ситуацию в рабочих местах (я имею в виду, что задание начнется, но сначала проверьте, не находится ли оно в периоде отключения, и ничего не будет делать, если оно будет в указанные периоды)   -  person ppeterka    schedule 10.10.2013
comment
Итак, мне нужно справиться с этим с помощью логики, верно?   -  person user755806    schedule 10.10.2013
comment
Я думаю да. Но я не уверен на 100%, скажем, 99%... Кварц мощный и широко используемый, и это кажется разумным требованием, поэтому я думаю, что есть способ... Просто я не знаю об одном.   -  person ppeterka    schedule 10.10.2013
comment
хорошо .. Спасибо, ppeterka .. любая другая альтернатива, которую вы можете предложить?   -  person user755806    schedule 10.10.2013
comment
Для этого вам потребуется более одного выражения cron. Каждое выражение cron может запускать одно и то же задание.   -  person darrenmc    schedule 10.10.2013
comment
Итак, у меня может быть список выражений cron, и мне нужно перебирать каждое из них, верно? Спасибо   -  person user755806    schedule 10.10.2013


Ответы (1)


Вам, вероятно, понадобятся 4 выражения кварца cron:

0 0/10 * ? * TUE-FRI
0 0/10 0-16 ? * SAT
0 0/10 9-16 ? * SUN
0 0/10 9-23 ? * MON

Вы можете использовать онлайн-средство проверки выражений cron для проверки выражений кварца-cron.

person ragnor    schedule 11.10.2013
comment
Вы можете объединить 2-е и 3-е выражения в одно, например 0 0/10 0-16 ? * SUN,SAT - person L. Holanda; 18.10.2013
comment
Нет, ты не можешь. Это дает 0-16 в воскресенье, но требуется 9-16. - person ragnor; 18.10.2013
comment
Ха-ха... Извините, я был без очков, клянусь, я видел 0 вместо 9 в воскресном расписании. - person L. Holanda; 18.10.2013