xxl-job快速使用说明

xxl-job方法实现说明

1.在若依中配置xxl-job应用所需的配置(一共两处)

①位于ruoyi-admin下的yml文件

image-20230702142415955

image-20230702143124621

​ 在yml文件中有一项用来配置xxl-job配置

​ 各项信息的表示内容yml文件中都有注释

​ 最关键是的enabled(执行器开关),true用来启动xxl-job,false停用

②位于ruoyi-extend下的ruoyi-xxl-job-admin的yml文件

image-20230702142735657

image-20230702143032013

​ 在yml文件中比较重要的有数据库的配置(图中方框圈出最关键的信息),需要修改自己要使用的数据库账号和密码,以及选择的数据库

2.在idea中启动xxl-job功能

优先 启动XxlJobAdminApplication服务,再启动RuoYiApplication服务(因为如果在RuoYiApplication服务中使用了xxl-job,即xxl-job的执行器为true,RuoYiApplication需要依赖xxl-job),之后正常启动前端并登录

image-20230702143643363

3.在系统中找到任务调度中心,了解基本内容

image-20230702145018382

image-20230702145320032

​ 在任务调度中心里对于方法实现比较重要的是任务管理和调度日志,任务管理中可以搜索、新增、编辑和执行等一系列重要操作,二调度日志会记录任务执行时产生的日志。

4.定时任务在项目中的创建(含若依的案例)

​ 若依中打开ruoyi-job里的service找到SampleService,这个为若依提供的简单案例

image-20230702150503483image-20230702150651990

1
2
3
4
5
6
7
* XxlJob开发示例(Bean模式)
* 开发步骤:
* 1、任务开发:在Spring Bean实例中,开发Job方法;
* 2、注解配置:为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
* 3、执行日志:需要通过 "XxlJobHelper.log" 打印执行日志;
* 4、任务结果:默认任务结果为 "成功" 状态,不需要主动设置;如有诉求,比如设置任务结果为失败,可以通过 "XxlJobHelper.handleFail/handleSuccess" 自主设置任务结果;
*

5、在任务调度中心里打开任务管理,点击新增,在系统中新增定时任务

image-20230702150905755

image-20230702151023443

​ 以下为比较重要(必填)的配置:

​ 1.执行器:图中的执行器选择是从执行器管理中已创建的执行器里选择

​ 2.任务描述:指任务的描述,方便用户理解所用

​ 3.负责人:指任务负责人

​ 4.调度类型:image-20230702152138682CRON:使用CRON表达式,固定速度: 是指每隔固定时间调度一次任务

​ 5.运行模式:根据任务的类型选择不同的模式

​ 6.✨JobHandler:指为Job方法添加的注释里的value值,”@XxlJob(value=”自定义jobhandler名称”, init = “JobHandler初始化方法”, destroy = “JobHandler销毁方法”)”,此处的填写是为了保证任务调度中心能够找到要调度的任务

额外事项:

​ 常用cron表达式例子

  (1)0/2 * * * * ? 表示每2秒 执行任务

  (1)0 0/2 * * * ? 表示每2分钟 执行任务

  (1)0 0 2 1 * ? 表示在每月的1日的凌晨2点调整任务

  (2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业

  (3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作

  (4)0 0 10,14,16 * * ? 每天上午10点,下午2点,4点

  (5)0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时

  (6)0 0 12 ? * WED 表示每个星期三中午12点

  (7)0 0 12 * * ? 每天中午12点触发

  (8)0 15 10 ? * * 每天上午10:15触发

  (9)0 15 10 * * ? 每天上午10:15触发

  (10)0 15 10 * * ? 每天上午10:15触发

  (11)0 15 10 * * ? 2005 2005年的每天上午10:15触发

  (12)0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发

  (13)0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发

  (14)0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

  (15)0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发

  (16)0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发

  (17)0 15 10 ? * MON-FRI 周一至周五的上午10:15触发

  (18)0 15 10 15 * ? 每月15日上午10:15触发

  (19)0 15 10 L * ? 每月最后一日的上午10:15触发

  (20)0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发

  (21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发

  (22)0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发

6、定时任务操作

image-20230702153346117

​ 执行一次:可以用来直接执行一次任务,执行日志到调度日志中查询

​ 启动:根据定时任务的编辑来开启定时任务

​ 下次执行时间:用来查看下次执行的具体时间

7、调度日志操作

image-20230702153649126

在操作一栏中选择执行日志,可以查看日志的log结果。

image-20230702153730304