xxl-job 任务注册

官方文档: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表中,等待后续的执行,流程也相对简单。


四、总结

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容