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. 停止回调线程、重试线程