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, …
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/180122.html原文链接:https://javaforall.cn