0%

xxl-job源码学习

xxl-job内容

admin服务端

启动顺序

  1. XxlJobAdminConfig
  2. XxlJobScheduler
  3. 如下表格内容

执行类型:通过配置bean名称(datax、shell、python、powershell)

XxlJobScheduler

序号 标题 内容 频率 备注
① 国际化
② 注册监听器 1、扫描sync_job_registry表
2、更新sync_job_group表
30s
③ 失败监听器 1、扫描fail_job_log
2、重试
3、告警
10s
④ 丢失监听器 60s 执行超过10min则表示失败
⑤ 任务触发器 线程池
快触发器、慢触发器
⑥ 日志报告 执行统计
⑦ 定时任务 5s 定时执行

作为springboot程序:提供JobApiController实现AdminBiz的注册、取消、回调接口

executor执行器

启动顺序

  1. XxlJobConfig
  2. XxlJobSpringExecutor
  3. initJobHandlerMethodRepository
  4. 工厂类启动
  5. 如下表格内容

XxlJobExecutor

序号 标题 内容 频率 备注
① 初始化日志路径
② 初始管理平台客户端
③ 日志清理线程 1、扫描文件夹
2、删除过期
1d
④ 回调处理 1、触发器回调线程
2、异常重试线程
30s
⑤ netty服务端提供接口 1、启动netty
2、channel监听
3、注册地址到管理平台

停止时有相关处理:资源回收

  1. 释放netty端口
  2. 停止线程池
  3. 停止在运行的线程
  4. 停止日志处理线程
  5. 停止回调线程、重试线程