java定时任务cron表达式每周执行一次的坑及解决
作者:尔卿
这篇文章主要介绍了java定时任务cron表达式每周执行一次的坑及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
java定时任务cron表达式每周执行一次的坑
java springboot 利用schedule执行定时任务是很常用的功能,有一个很常用的网站就是在线Cron表达式生成器,但是在这个网站最近遇到一个坑。
我要每周四执行一次,我把我写的表达式在这个网站验证了,是可以的,你看最近10次执行时间,同时看一下我右下角的日历,没问题吧,实际上坑已经出现了。
在这个验证前,我先在网上查了一次资料,1周日,2是周一,那就周四就是5,每个周四的1点执行一次 表达式是@Scheduled(cron = "0 0 1 ? * 5"),觉得就是这样了,结果周四没执行,周五才执行。
/** * 保存司机统计的数据 * 每个周四的1点执行一次 */ @Scheduled(cron = "0 0 1 ? * 5")
经过验证,每周几点执行一次的话,这个周,周一就是1,周二就是2,千万记得,不要掉坑了。
每个周四的1点执行一次 正确的表达式是@Scheduled(cron = "0 0 1 ? * 4")
cron表达式指定每周几调度
每周二零点调度
0 0 0 ? * 3 *
注意,星期的范围{1, 2, 3, 4, 5, 6, 7}。第一天是星期天
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。