2016-12-12 3 views
0

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

sec min hour day_of_month month day_of_week year, 

мы можем предоставить либо day_of_month или day_of_week, но не оба из них, так как это не реализовано все же.

Я хочу запустить планировщик после каждых two weeks и в понедельник, ЧЕТВЕРГ, ПЯТНИЦА в 12 часов, то как я могу это достичь.

обеспечивая следующее выражение хрон не будет работать:

* * 12 1/14 * MON, THU, FRI * 

, потому что мы не можем обеспечить как day_of_week and day_of_month.

Итак, дайте мне знать, если есть какой-либо другой способ сделать это, другую библиотеку и т. Д. И я не хочу обрабатывать ее в бизнес-логике, а просто использовать cronexpression должно быть достаточно для моих нужд.

ответ

0

попробовать этот сайт https://crontab.guru/ это может помочь вам ..

или http://www.corntab.com/?c=0_12__ _1,4,5

и ваш вопрос, это будет что выражение

0 12 * * 1,4,5 

и Ваше понимание:

+---------------- minute (0 - 59) 
    | +------------- hour (0 - 23) 
    | | +---------- day of month (1 - 31) 
    | | | +------- month (1 - 12) 
    | | | | +---- day of week (0 - 7) (Sunday=0 or 7) 
    | | | | | 
    0 12 * * 1,4,5 command to be executed 

Выход:

“At 12:00 on Monday, Thursday, and Friday.” 
next at 2016-12-15 12:00:00 
then at 2016-12-16 12:00:00 
then at 2016-12-19 12:00:00 
then at 2016-12-22 12:00:00 
then at 2016-12-23 12:00:00 
..... 
+0

Нет, сэр, на самом деле выражение, предоставленное вами, говорит нам только о планировании работы в течение 1, 4, 5 дней. Я хочу, чтобы он повторял этот цикл каждые 4 дня. – user2118745

+0

@ пользователь2118745 нет дорогой. его работает в каждый понедельник, четверг, пятница в 12.00. Я только что дал список с запятыми по будням (1,4,5). Это повторяется каждую неделю. –

+0

@ user2118745 Если у вас все еще есть сомнения, я могу попытаться его прояснить. и принять ответ, если он помог в решении проблемы. –

0

Насколько я понял, вам нужен такой запрос:

0 0 12 1-7,14-21 * MON,THU,FRI * 

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

Так что в следующий раз будет встречаемости:

2016-12-19T12:00:00+01:00 
2017-01-02T12:00:00+01:00 
2017-01-05T12:00:00+01:00 
2017-01-06T12:00:00+01:00 
.... 

другой вопрос, если оценщик может обрабатывать такой запрос правильно, вы должны проверить его.

Смежные вопросы