Specify arbitrary start and end times for cron job
Asked Answered
G

1

7

For Quartz Cron, is it possible at all to specify a cronexpression that corresponds to:

Run every 6 minutes, starting from 9:12 AM until 5:37 PM.

I attempted to write the cronexpression 0 12-37/6 9-17 ? * * but this does only runs once an hour. I also understand that the cronexpression 0 /6 9-17 ? * * corresponds to Run every 6 minutes between the hours of 9 AM and 5 PM.

But is there any way to constrain the starting and ending minutes on that cronexpression? More generally, can I specify an arbitrary start and end time with the job in question running every n intervals of time?

Gavriella answered 5/6, 2013 at 20:39 Comment(1)
5 PM is hour 17 (not 14). 0 12-37/6 9-17 * * * should do 9:12, 19, 24, 30, and 36 skip to 10:12 and run 5 times that hour. And keep on running 5 times an hour until 5:36 PM.Manumit
M
8

You can do it with 3 cron strings:

0 12-59/6 9 * * *
0 /6 10-16 * * *
0 0-37/6 17 * * *

Give them all the same task to run.

Manumit answered 5/6, 2013 at 20:48 Comment(5)
oh dear please explain it. I have read it here but still confused quartz-scheduler.org/documentation/quartz-1.x/tutorials/…Mutant
I would suggest you ask Stack Overflow specific questions. Or perhaps you should just Google for more Quartz tutorials or a good cron tutorial. The repeated event timing in Quartz can be done very much the same as with cron.Manumit
Thnx. Got answer here #19051850Mutant
@LeeMeador I am sorry but cronmaker.com says all these expressions are invalid. I tried to generate next run dates using Cronmaker. Can you explain?Ogletree
@BhushanFirake cronmaker.com uses Quartz cron format. Evidently it does not allow using the dash and the slash together.Manumit

© 2022 - 2024 — McMap. All rights reserved.