XXL-JOB 源码分析

xxl-job源码分析 2022-08-19 21:16:21

在这里插入图片描述

xxl-job2.3.0源码分享 2022-04-07 15:56:31

在这里插入图片描述

xxl-job(分布式调度中心) 2021-03-01 23:52:05

在这里插入图片描述

XXL-JOB 手动触发一次,源码分析 2022-09-16 17:49:52

1
2
3
4
5
快慢线程池: 1分钟内有10个任务未执行,使用 slow,否则使用 fast

广播:for 所有注册器,发送job

路由(默认first):默认注册器列表第一个,或指定轮询,随机,...

在这里插入图片描述

JobScheduleHelper(任务调度):XXL-JOB 时间环 2022-12-12 18:38:58

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# scheduleThread
1. 0~5秒读一次 ===> TimeUnit.MILLISECONDS.sleep(5000 - System.currentTimeMillis()%1000 );
2. 分布式锁
3. select JobList now+5s
时间判断
1. [if] now > next + 5s ===> 过期大于5秒
失火策略:立即触发一次 => 触发
刷新下一次
2. [else if] now > next ===> 过期小于5秒
触发
刷新下一次
now + 5s > next ===> pushRing,刷新下一次
3. [else] pushRing,刷新下一次
4. 更新 JobList ===> last_time、next_time、status
# ringThread
1. 当前秒,取环
2. for JobIds ===> JobTriggerPoolHelper.trigger
3. 当前秒,clear

在这里插入图片描述