xxl-job 任务注册

https://www.jianshu.com/p/92f0361dc3d6

官方文档:https://www.xuxueli.com/xxl-job/

 

之前和分享了一下对xxl-job的简单理解,这次聊一聊xxl-job任务注册流程和简单的使用方法。

 

一、XXL-JOB调度数据库表如下:

- xxl_job_lock:任务调度锁表;

- xxl_job_group:执行器信息表,维护任务执行器信息;

- xxl_job_info:调度扩展信息表: 用于保存XXL-JOB调度任务的扩展信息,如任务分组、任务名、机器地址、执  行器、执行入参和报警邮件等等;

- xxl_job_log:调度日志表: 用于保存XXL-JOB任务调度的历史信息,如调度结果、执行结果、调度入参、调度机 器和执行器等等;

- xxl_job_log_report:调度日志报表:用户存储XXL-JOB任务调度日志的报表,调度中心报表功能页面会用到;

- xxl_job_logglue:任务GLUE日志:用于保存GLUE更新历史,用于支持GLUE的版本回溯功能;

- xxl_job_registry:执行器注册表,维护在线的执行器和调度中心机器地址信息;

- xxl_job_user:系统用户表;

之所以先介绍表的目的在于,XXL-JOB所有的操作都是基于这几张表的。

 

二、增加执行器

 

2.1 UI配置执行器

 
 

 

1、"调度中心OnLine:"右侧显示在线的"调度中心"列表, 任务执行结束后, 将会以failover的模式进行回调调度中心通知执行结果, 避免回调的单点风险;

2、"执行器列表" 中显示在线的执行器列表, 可通过"OnLine 机器"查看对应执行器的集群机器。

 

 
 

 

 

 

AppName: 是每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用;

名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性;

排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表;

注册方式:调度中心获取执行器地址的方式;

自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址;

手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用;

机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息;

 

2.2 调度中心配置执行器

程序配置执行器比较简单,只是一个单纯的web接口,做了必要的参数校验,直接存入xxl_job_group表中

 

 
 

 

同时xxl_job_registry表中维护了执行器存活机器的相关信息,数据是动态的,会新增和物理删除。

 

 

三、增加任务

 

3.1 UI新建任务

 

登录调度中心,点击下图所示“新建任务”按钮,新建示例任务。然后,参考下面截图中任务的参数配置,点击保存。

 

 
 

 

 
 

 

值得一提的是,一个任务只能对应一个执行器,反之亦然,一个执行器可以拥有对个任务

 

3.2 执行器实现

客户端实必须实现对应的接口,如果是spring项目,增加相应地注解即可

 
 

 

3.3 调度中心增加任务

程序配置执行器比较简单,是一个单纯的web接口

 
 

而后做了大量的的参数校验,确认执行器存在,最后存入xxl_job_group表中,等待后续的执行,流程也相对简单。

 

四、总结

任务新增流程相对比较简单,执行器代码侵入性也比较低,最主要明白几张表的作用,和执行器与任务之间的关系,后面会分享一下,任务是具体如何执行的



作者:迷失的撒旦
链接:https://www.jianshu.com/p/92f0361dc3d6
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

posted on 2023-06-20 11:03  四海骄阳  阅读(228)  评论(0编辑  收藏  举报

导航