Monday, January 29, 2024

[SOLVED] Quartz Cron Expression: Run Job Every 10 minutes starting NOW (immediately)

Issue

I am using Quartz Scheduler using Spring. I want to configure the same with following schedule:

Run Job Every 10 minutes starting NOW

I am using following expression for the same.

0 */10 * * * ?

I thought * in the minutes field would make it run the first minute, but it does not do that way. It runs the first 10th minutes from now and then every 10 minutes afterwards. Can anybody please suggest me the reason for this behavior and the solution to my problem also?


Solution

check the minute your at now and add them as a list to your crontrigger. if you start the trigger at minute 12 for example add

0 2,12,22,32,42,52 * * * ? 

as your cron expression

Edit:

Another solution would be to define a simpletrigger that repeats every ten minutes

SimpleTrigger trigger = new SimpleTrigger("myTrigger",
                                            null,
                                            new Date(),
                                            null,
                                            SimpleTrigger.REPEAT_INDEFINITELY,
                                            10L * 60L * 1000L);


Answered By - Nikolaus Gradwohl
Answer Checked By - Candace Johnson (WPSolving Volunteer)