Xxljob
-
总体结构如下
-
一个任务调度的平台,可以在可以在可视化界面通过配置执行某些任务,平台实现了任务的统计,可以查看失败或成功,信息会写入数据库中,这个平台通过xxl-job-admin服务控制。 -
使用者可以在xxl-job-executor-samples下开发需要执行的任务,该包下有两个示例器,xxl-job-excutor-sample-frameless是一个普通项目,xxl-job-executor-sample-springboot示例器是一个springboot项目,可以根据自己的需求在合适的示例器中进行自己任务的开发。
xxl-job-admin 配置文件
xxl-job-executor-sample-springboot 配置文件
xxl-job-executor-sample-springboot
- 这是个springboot示例器,一般业务代码写在这个项目下,和普通的springboot项目相同,不过开发过程中将自己需要测试的方法打上@Xxljob(“name”),这个任务就可以配置到xxl的平台中了
- 样例:
启动Xxljob
-
首先启动xxl-job-admin,记得先配置好自己的数据源 -
然后启动自己要使用的示例器,不启动当然也可以,那样就无法测试自己写的任务了,以上面的样例为例需要启动的两个服务是
-
这两个服务分别占用8080端口和8081端口,需要确保这两个端口不被占用,或者更改这两个端口 -
启动成功可以打开http://localhost:8080/xxl-job-admin/
-
第一次进来可能会有密码,默认是admin,admin。
使用Xxljob配置任务
任务执行
-
点上面的执行一次即可 -
然后可以在查询日志中查看刚刚的执行状态 -
-
点击查看可以看到运行信息
上面就是Xxljob的简单开发过程了,下面说下Xxljob传参
Xxljob传参
- 在执行的时候会询问可以传参或者不传传递的参数可以通过XxlJobHelper.getJobParam()获取
- 目前我只会接收字符串,看别人说可以穿json但没见人写出来怎么传,以后再说吧,
- 想要传多个参数的可以通过特殊字符隔开,在后台通过split(“”)方法切割
cron表达式
-
-
个人觉得还是挺容易懂的,5个*号分别代表秒、分、小时、日、月,问号应该是没填的 -
*代表每,如果在秒的位置上就是每秒,分钟的位置上就是每分钟依次类推 -
10-20就是在这个周期内,在秒的位置上就是从启动的时间算以后面一位为单位,比如在秒的位置上,以开始时间算的一分钟内10秒到20秒每秒执行一次 -
51/2,在秒的位置上表示从51秒开始,每2秒执行一次 -
注意
|