jeecg-boot集成xxl-job调度平台,每秒/每分钟/手动都能执行成功,但是设置固定时间不触发?

举报
穆雄雄 发表于 2022/12/05 21:00:53 2022/12/05
【摘要】 大家好,我是雄雄。 目录@TOC今天在用jeecg-boot集成了的xxl-job的时候,遇到了个奇葩的问题(其实一点都不奇葩),投入了几个人,一起看这个问题,看了一天都,还没解决。后来一个不经意的瞬间,别人指导了下,才发现问题所在。 bug说明我们的业务是与周有关的,用户通过小程序,设置每周的周几进行提醒,然后我们将具体的提醒信息生成cron表达式存在数据库中,顺便开启定时任务,让定时任务...

大家好,我是雄雄。

在这里插入图片描述

目录

@TOC

今天在用jeecg-boot集成了的xxl-job的时候,遇到了个奇葩的问题(其实一点都不奇葩),投入了几个人,一起看这个问题,看了一天都,还没解决。后来一个不经意的瞬间,别人指导了下,才发现问题所在。

bug说明

我们的业务是与周有关的,用户通过小程序,设置每周的周几进行提醒,然后我们将具体的提醒信息生成cron表达式存在数据库中,顺便开启定时任务,让定时任务满足cron表达式后,自动触发方法去执行。

业务没有问题,流程没有问题,问题就出在了定时任务上。
👉问题就是:定时任务,设置成每秒/每分钟/手动都能执行成功,但是设置固定时间不执行,也没有报错。

写这个块儿代码的同事坚持说,以前是可以用的,现在不可以用了。(就因为这句话,导致解决问题的思维一直是错的)

解决bug的过程

  1. 我们将微服务项目重新clean,构建,重启,不管用!!
  2. 我们将cron表达式,正解析反解析,不管用!!!(自认为不管用)
  3. 同事说之前是可以的,于是我们就回滚代码,回滚到可以时候的代码,还是不管用!
  4. 新建执行器,注册地址手动录入,自动注册,均不管用!
  5. 问了别人,也不管用!!

我们也知道,这个问题很好解决,很简单,就是哪里不小心给弄错了,或者哪个地方配置错了,只是就是不知道是哪里?

按理说,定时任务不触发,就是cron表达式的问题,但是检查了好几遍,没有问题啊,在线生成的次数太多了,导致我们都会手写cron表达式了。

💀大家看看,比如我想设置个周四的20:30提醒我,在线生成一下:
在这里插入图片描述
注意看星期的,是不是四,是吧?

解决方法

是你就错了,这特么的是星期三!!!是星期三!!!

我就是这样的,今天周四,就写了个4,到点看看执行了没?没有执行!

于是和同事们一直在纠结这个问题,为啥不执行呢?然后反反复复的看,咋还是不执行呢,于是大家围着一圈,一块看到底是哪里出问题了…

现在想想,真是无语了啊。
在这里插入图片描述

默默的把四改成五,就可以了。*

结论

cron表达是中。别的还没看出来,但是星期话的,得+1,+1,+1,记清楚了,得+1!!!
好了,千万得注意啊。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。