1、SpringBoot调用
https://gitee.com/xuxueli0323/xxl-job下载;
找到xxl-job\doc\db\tables_xxl_job.sql 运行;
cd \xxl-job-admin
mvn package
cd target
nohup java -jar xxl-job-admin-2.3.0.jar &
http://localhost:8080/xxl-job-admin/
默认登录账号 “admin/123456”
https://www.xuxueli.com/xxl-job/
注意:貌似xxl-job不能向像elastic-Job一样根据分片参数执行相关的分片逻辑:
实现注意:
2、任务分片
参考:https://blog.csdn.net/it_freshman/article/details/105421781
- 单机多任务
单机上建一个任务,在【任务管理】配置多个任务,然后根据任务参数来进行分线程跑任务:
- 多机分片
在两台以上机器上启动执行器实例:
然后配置一个任务:
会在同一时刻产生两个日志:
日志结果:
3、使用xxl-job调度kettle
1.部署xxl-job调度平台
从GitHub上下载源码,参考官网部署好xxl-job.
2.调度kettle
(1)、新增一个调度任务,运行模式选择为GLUE(shell)
(2)、选择GLUE IDE编辑
(3)、在shell界面编辑好kettle调度命令即可
data-integration目录下的 Kitchen.bat。运行kitchen.bat,弹出新的窗口 kitchen—任务执行器(命令行方式),一般在自动调度时借助此命令调用调试成功的任务(job):
随后启动定时任务,作业即可进入调度周期了。
小结:此方式是直接通过xxl-job和kitchen.bat脚本进行调度作业,每启动一次kitchen.bat脚本就会起一个jvm实例,当任务过多时,将会产生内存溢出,因此需要使用其他方式来将kettle做成web接口,以后每次调度时,只需通过xxl-job调度kettle的接口即可,不会产生多起jvm的情况。