xxl-job任务调度系统的配置与使用

xxl-job是一个开源的系统,类似sprig-quart定时器一样,可以收集需要跑批的定时任务。

源码下载GitHub地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)

开源系统包括调度中心、核心类、测试实例三个相互依赖的模块。

调度中心

主要收集注册过来的执行器与执行任务并做UI展示与操作,调度中心需要配置保存注册任务与操作记录的数据库

数据库初始化脚本见开源代码doc目录

核心类

  该模块是封装的一些工具类和初始化内容,无需配置,直接被依赖即可

测试实例

   测试实例关键需要配置执行器注册信息,包括调度中心地址,执行器的执行端口、实例名称。

其中执行器的执行端口跟测试实例项目的端口不一致,需要区分开。

【调度中心地址】是调度中心模块的地址

如上配置完之后需要初始化必要必要的配置到核心类模块中:

见实例代码《xxl-job-executor-sample-springboot->

com.xxl.job.executor.core.config.XxlJobConfig#xxlJobExecutor》

添加执行任务方法入口:

执行任务在项目启动初始化实例时注册到调度中心,所以方法所在类需要添加@Component注解,

@XxlJob注解标识执行任务方法入口,其中demoJobHandler_myself是执行任务名称,

如上模块配置完,调度执行模块和测试实例模块就可以以此运行起来,剩下的就在调度中心UI里面进行配置了。

调度中心控制系统配置

调度中心控制系统的返回路径是调度中心模块的首页,如 http://localhost:8331/xxl-job-admin:默认的用户名/密码是admin/123456

登入之后的操作:

添加执行器

【APPName】需要跟测试实例中的xxl.job.executor.appname参数值匹配

【机器地址】是注册中心的xxl.job.executor.ip与xxl.job.executor.port的测试值:http://ip:host/

 : 该端口是执行器端口,不是项目访问端口

添加执行任务

【执行器】需要跟添加执行器名称相互匹配,也就是任务要跟项目匹配

【Cron*】是时间表达,具体可以参考如下:

*/5 * * * * ? 每隔5秒执行一次
0 */1 * * * ? 每隔1分钟执行一次
0 0 5-15 * * ? 每天5-15点整点触发
0 0/3 * * * ? 每三分钟触发一次
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
网页生成器:在线Cron表达式生成器

JobHandler*】任务名称,该名称要跟测试实例中的@XxlJob注解的名称匹配

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

通过如上的配置,定时任务就可以跑起来了,那么该怎么独立出调度中心呢,就是执行器和执行内容分布到了其他的项目怎么办?

这边为了防止因版本的差异,可以直接把开源项目三个模块同时发布到maven私服,在其他项目直接dependency添加依赖就可以,

其他的配置方法跟上面的测试实例一模一样(注意区分实例名称和执行器端口)

如果不发布到私服环境可以把开源项目构建在同一个主项目的子module下,跟开源项目平行的module就都可以添加定时器依赖,如下

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值