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

本文主要是介绍jeecg-boot集成xxl-job调度平台,每秒/每分钟/手动都能执行成功,但是设置固定时间不触发?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是雄雄。

在这里插入图片描述

目录

这里写目录标题

    • 目录
    • bug说明
    • 解决bug的过程
    • 解决方法
    • 结论

今天在用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!!!
好了,千万得注意啊。

这篇关于jeecg-boot集成xxl-job调度平台,每秒/每分钟/手动都能执行成功,但是设置固定时间不触发?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/429211

相关文章

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat