cron每小时执行一次,Cron表达式每45分钟执行一次

I want a cron expression which fires every 45 minutes.

According to the documentation, I have created this 0 0/45 * * * ? expression.

But it is fired in a pattern like 12:00, 12:45, 13:00, 13:45, 14:00.

But what I expect and want is to be fired at 12:00, 12:45, 13:30, 14:15.

What am I missing?

Cron is not meant to solve such problems. It defines the exact date and times, when a trigger must be fired, not intervals. Use a simple schedule instead:

TriggerBuilder.Create()

.StartAt(startDate)

.WithSimpleSchedule(

simpleScheduleBuilder => simpleScheduleBuilder.WithIntervalInMinutes(45))

.Build();

Edit:

It's either a simple schedule as above, or multiple cron triggers (Quartz jobs can have multiple triggers):

0 0/45 12/3 * * ? # 12:00, 12:45, 15:00, 15:45, ...

0 30 13/3 * * ? # 13:30, 16:30, ...

0 15 14/3 * * ? # 14:15, 17:15, ...

• 1
点赞
• 0
评论
• 0
收藏
• 一键三连
• 扫一扫，分享海报

05-09

06-21 2万+
01-13 1810
09-17 12万+
03-22 4万+
05-09
09-21 27万+
06-12 17万+
03-06 1089
03-16 2万+
03-28 3万+