Cron job not working as expected configured with Quartz-scheduler.net - cron

I have few schedulers configured with quartz .net
Every five minute forever: 0 0/5 * 1/1 * ? *
Every five minute from Monday to Friday between 9:30AM to 3PM : 0 30/5 9-14 ? * MON,TUE,WED,THU,FRI *
First scheduler which runs every 5 minute forever works well without any problem.
Second scheduler expression (0 30/5 9-14 ? * MON,TUE,WED,THU,FRI *) checked here and is valid expression- which should work from Monday to Friday between 9:30AM to 3PM is not working as expected
Some times it is not getting started
Some times it stops at 55th minutes and get restart at next 30th minute. Example: it started at 9:30 AM and stops at 9:55 AM and then again started at 10:30AM , stopped at 10:55AM , started back at 11:30 AM. and so on.
I wondered why second expression get stops sometimes.

Related

Cron expression starting at a fixed time

I can't figure out how to make a cron expression that starts at 11:45 and then runs every 25 minutes every friday between 11:45 and 22:00.
This is the best i could do but i can't make it start at 11:45.
*/25 11-22 * * 5

Cron Expression for running job every 4 hours starting at 4pm . But should not run between 12am to 7am of the day

I am trying to create a Cron Expression for running job every 4 hours starting at 4pm, but should not run between 12am to 7am of the day.
So far I tried to do this but it does not work.
0 0 16/4 ? 0-2,7-23 * * *
This could be your cron expression.
0 0 16/4,20,8,12 ? * * *
Use this link to get exactly what you are seeking for. It will also helps you with the next execution time.

Complex MuleSoft Cron Schedule

I'm trying to schedule an app to run every 5 minutes, M-F from 6am-6pm, and every 2 hours, M-F from 6pm-6am. The fixed poll frequency doesn't allow this level of scheduling, so I'm trying to use a cron scheduler.
I set the time zone to America/Chicago and the 5M expression to 0 0/5 6-18 ? * 2-6, and I set the 2H expression to 0 0/120 18-23,0-6 ? * 2-6.
According to both Cron documentation and MuleSoft documentation, this should be setup correctly and should work, and it does work locally. When I publish this to our VPC (US-EAST), I found that the 2H scheduler was working during the day until about 4PM (Central time), so I changed the expressions to this:
5M 0 0/5 0-12 ? * 2-6
2H 0 0/120 12-23 ? * 2-6
Now my 5M scheduler started at 2:15AM and ran until 7AM.
How can I setup two central timezone cron schedules to run 6am-6pm M-F every 5 minutes and 6pm-6am M-F every 2 hours on a VPC server?
MuleSoft confirmed to me that their VPC servers are UTC based, regardless of waht time zone you place on the cron scheduler/poll connector. While not ideal, that means that I needed to back the schedulers up 6 hours (to get them to central time). I suspect that DST will cause the schedule to shift one direction by an hour.
This is a good resource for learning about Mule Quartz/Cron scheduler.
There is also a Free Online cron scheduler formatter.
For the purpose of my scheduling needs, I ended up needing a total of four cron schedulers
0 0/5 12-23 ? * 2-6 - runs M-F, 6am-5:55pm (central) every five minutes.
0 0 0-11/2 ? * 3-6 - runs T-F UTC, but actually runs 6pm-4am M-F every two hours. You only need to run the app up to 4am since it is every two hours, and the five minute schedule will start promptly at 6am. Two things to note here. First, to properly rune very two hours you need to do /2 on the hour slot, instead of /120 on the minute. The minute slot can only handle values from 0-59. Second, the days are set to start on Tuesday because of the 6 hour difference from UTC to Central. If you were to use hours 0-11 (UTC) on Monday, the app would actually start at 6pm on Sunday central time.
This brings us to the two additional schedules, one to capture 12am-4am on Monday (central), and a second to capture 6pm-12am on Friday (central).
0 0 6-11/2 ? * 2 - runs every two hours between 12am-4am (central) on Monday.
0 0 0-6/2 ? * 7 - runs every two hours between 6pm and 12am (central) on Friday.

Cron job run every N hours (where 24 isn't evenly divisible by N) doesn't work as expected

For example, if I have a cron job that I want to run every 9 hours:
0 */9 * * * my_script
The job is executed at 00:00, 9:00, and 18:00; and then the same hours the next day.
What I want is for the job to execute at 00:00, 9:00, 18:00; then 03:00, 12:00, 21:00 the next day -- a true "every 9 hours".
Is there any way make cron job run EVERY 9 hours?
Specifying */9 means that the job runs every 9 hours starting at 00:00. It starts again at 00:00 every day.
There is no syntax in cron to run a job every 9 hours.
What you can do is run a job every 3 hours, and have the command itself examine the current time and only execute 1 time out of 3. Or it can run every hour and execute one time out of every 9. Don't assume that the current time will be exact; it might run a few seconds after the hour.

Cron expression for only for wednesday every after 2 hours

java - Spring, i want to crate cron expression to run every after 2 hours only on Wednesday till day end
0 0 0/2 * * WED *
mean cron should trigger every wednessday only for these times 2am, 4am, 6am, 8am,10am, 12pm, 2pm,4pm, 6pm, 8pm, 10pm, 12pm
i don't have time long to wait and test can some one please confirm is it correct ?
Even though it is way to late i like to answer the question for other users.
Your CronExpression is invalid. You can check this here or here. The problem is: You cannot specify a day_of_month AND a day_of_week.
Cause you are setting a day_of_week you should skip day_of_month with a "?". Solution should be: 0 0 0/2 ? * WED *

Resources