如何生成每45分钟执行且非整点第45分的Cron表达式?
解决每45分钟非整点触发的Cron表达式问题
这个问题我之前也踩过坑!你原来用的0 0/45 * 1/1 * ? *之所以会触发整点,是因为Cron的步长规则是从起始值开始循环累加,0/45意味着从0分起,每过45分钟触发一次,自然会在0分(整点)和45分重复触发,不符合你要的连续递加45分钟的需求。
要实现10:45 → 11:30 → 12:15 → 13:00 → 13:45...这种间隔45分钟的触发节奏,得利用45分钟周期每3小时循环一次的规律(3×60=180分钟=4个45分钟),拆分三个Cron表达式来覆盖所有时间点:
- 覆盖XX:45的触发:
0 45 */3 * * ? *
作用:每3小时的45分触发一次(比如10:45、13:45、16:45...) - 覆盖XX:30的触发:
0 30 1/3 * * ? *
作用:从1点开始,每3小时的30分触发一次(比如11:30、14:30、17:30...) - 覆盖XX:15的触发:
0 15 2/3 * * ? *
作用:从2点开始,每3小时的15分触发一次(比如12:15、15:15、18:15...)
把这三个表达式同时配置到你的任务调度系统里,就能完美实现你要的连续45分钟间隔触发效果啦。
内容的提问来源于stack exchange,提问作者LS2
相关产品推荐
相关产品推荐

