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}。第一天是星期天

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。

本文标题为:java定时任务cron表达式每周执行一次的坑及解决

基础教程推荐