Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

merge: merge master to 3.11.x #3367

Merged
merged 179 commits into from
Dec 27, 2024
Merged
Changes from 1 commit
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
b85b871
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 20, 2024
10f85d5
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 21, 2024
b355c29
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 21, 2024
a169879
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 21, 2024
b50f2ea
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 22, 2024
9113712
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 22, 2024
1853189
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
c5dae1c
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
22be3d3
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
1de8d9d
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
227a9f5
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
266f991
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
1d6c056
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
3ef71bd
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 23, 2024
a4d4711
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 24, 2024
109bf51
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 24, 2024
30c2248
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 24, 2024
4b7a384
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 24, 2024
8db2f6b
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 24, 2024
6b4e41f
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 May 24, 2024
f1245fd
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段
wangyu096 May 29, 2024
636c0bb
Merge branch 'master' of https://github.com/Tencent/bk-job into issue…
wangyu096 Jun 3, 2024
bbb526c
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Jul 5, 2024
62172ab
Merge branch 'master' of https://github.com/Tencent/bk-job into issue…
wangyu096 Aug 2, 2024
46be829
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Aug 15, 2024
59386ab
Merge branch 'master' of https://github.com/Tencent/bk-job into issue…
wangyu096 Sep 11, 2024
d5bd8b9
perf: AI小鲸针对无日志等特殊场景下的回复优化 #3286
jsonwan Nov 5, 2024
0b48e2e
perf: 定时任务详情数据加载方式优化 #3284
jsonwan Nov 14, 2024
fb8611a
perf: 定时任务详情数据加载方式优化 #3284
jsonwan Nov 14, 2024
661dbde
perf: 定时任务详情数据加载方式优化 #3284
jsonwan Nov 14, 2024
9bb3774
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 1, 2024
6d15130
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 16, 2024
74c8332
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 17, 2024
6d9a6c2
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 17, 2024
5abf564
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 17, 2024
b2330a9
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 18, 2024
b83bd1f
perf: AI小鲸针对无日志等特殊场景下的回复优化 #3286
jsonwan Nov 18, 2024
bb7ccb8
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 18, 2024
b1bcf17
perf: AI小鲸针对无日志等特殊场景下的回复优化 #3286
jsonwan Nov 18, 2024
fe9f0a7
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 18, 2024
e5ae1a4
Merge pull request #3290 from jsonwan/github_feature/ai
wangyu096 Nov 18, 2024
bcf0f86
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 18, 2024
85c49c9
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 18, 2024
984e607
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 18, 2024
b981c5d
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
faa571c
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
17ee608
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
d0b786f
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
4ec6913
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
769cff0
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
33f458f
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
f406f1d
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 19, 2024
7c4940e
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
a662b19
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
15382b9
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
cfaf616
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
83aea6a
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
68c51b9
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
08ceb39
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
8c7522f
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 20, 2024
70488c8
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 21, 2024
8243d21
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 21, 2024
54fed24
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 21, 2024
8425a92
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 21, 2024
70a7d20
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 21, 2024
c190aa4
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 21, 2024
a34e41f
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 22, 2024
d4ef3aa
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 22, 2024
049a505
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 23, 2024
2df9011
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 23, 2024
659ce74
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 23, 2024
9cd40b6
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 Nov 25, 2024
1debd11
Merge pull request #2994 from wangyu096/issue_2991
wangyu096 Nov 25, 2024
d71328a
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 25, 2024
bf76537
Merge branch 'master' of https://github.com/Tencent/bk-job into issue…
wangyu096 Nov 25, 2024
ae23bf4
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 25, 2024
52e05a5
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 25, 2024
586acfd
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 25, 2024
10ea6b3
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 26, 2024
3030e57
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 26, 2024
7bc2795
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 26, 2024
4b90fa6
perf: 作业执行历史归档优化 #3294
wangyu096 Nov 26, 2024
f46bdc8
Merge pull request #3298 from wangyu096/issue_3294
wangyu096 Nov 26, 2024
1df4a3a
feat: 分库分表改造 - task_instance_host 表写入 app_id #3303
wangyu096 Nov 26, 2024
08d6d97
Merge pull request #3304 from wangyu096/issue_3303
jsonwan Nov 26, 2024
20a0faa
feat: 归档任务异常后,设置合理的任务状态 #3306
wangyu096 Nov 26, 2024
f791a40
Merge pull request #3307 from wangyu096/issue_3306
jsonwan Nov 26, 2024
79d5305
feat: 优化归档任务执行详情数据 #3309
wangyu096 Nov 27, 2024
853cb82
perf: 支持配置AI小鲸使用的大模型类型 #3308
jsonwan Nov 27, 2024
bce059f
perf: 支持配置AI小鲸使用的大模型类型 #3308
jsonwan Nov 27, 2024
622b1dd
Merge pull request #3310 from wangyu096/issue_3309
wangyu096 Nov 27, 2024
1af1e21
perf: 支持配置AI小鲸使用的大模型类型 #3308
jsonwan Nov 27, 2024
d6f0a3c
perf: 支持配置AI小鲸使用的大模型类型 #3308
jsonwan Nov 27, 2024
5e8b4f5
Merge pull request #3311 from jsonwan/github_feature/ai
jsonwan Nov 27, 2024
9b19f96
perf: 对执行对象任务写入 db 进行分批处理 #3312
wangyu096 Nov 27, 2024
b1e567d
perf: 对执行对象任务写入 db 进行分批处理 #3312
wangyu096 Nov 27, 2024
3ad94c1
perf: 对执行对象任务写入 db 进行分批处理 #3312
wangyu096 Nov 28, 2024
66a3252
perf: 对执行对象任务写入 db 进行分批处理 #3312
wangyu096 Nov 28, 2024
a9ad191
perf: 对执行对象任务写入 db 进行分批处理 #3312
wangyu096 Nov 28, 2024
83a0e35
Merge pull request #3313 from wangyu096/issue_3312
jsonwan Nov 28, 2024
13fc5fc
Merge pull request #3318 from TencentBlueKing/3.11.x
jsonwan Dec 4, 2024
6ca9690
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
7e0bb79
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
e1b6579
Merge branch '3.11.x' into github_master
jsonwan Dec 11, 2024
3afd17f
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
736e959
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
0f9c5f7
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
6aba6c0
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
d43a523
Merge pull request #3325 from jsonwan/github_master
jsonwan Dec 11, 2024
2ed0517
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 11, 2024
851ea32
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 12, 2024
83828eb
feat: 优化分库分表迁移过程中,task_instance_id 动态查询条件构造逻辑 #3324
wangyu096 Dec 12, 2024
f893700
Merge pull request #3327 from wangyu096/issue_3324
wangyu096 Dec 12, 2024
49546de
perf: job-analysis部分代码优化 #3322
jsonwan Dec 12, 2024
724abc8
perf: job-analysis部分代码优化 #3322
jsonwan Dec 12, 2024
52d573c
Merge branch '3.11.x' into github_master
jsonwan Dec 13, 2024
6864879
Merge pull request #3331 from jsonwan/github_master
jsonwan Dec 13, 2024
919a993
Merge pull request #3329 from jsonwan/github_perf/analysis
jsonwan Dec 15, 2024
4d35c86
feat: api 协议变更 #3333
hLinx Dec 16, 2024
4b440f7
perf: 定时任务查看详情时全局变量信息通过详情接口获取 #3334
hLinx Dec 16, 2024
62c4fad
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
11123c6
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
27839f7
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
83548c1
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
6ffe1be
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
6be6345
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
52e30ff
feat: api 协议变更 #3333
hLinx Dec 17, 2024
199c28b
Merge pull request #3337 from hLinx/feature_3.11
hLinx Dec 17, 2024
2059433
Merge pull request #3288 from jsonwan/github_perf/cron
wangyu096 Dec 17, 2024
d445d89
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
71430be
fix: 修复分库分表引入的问题 #3332
wangyu096 Dec 17, 2024
8473ed1
feat: api 协议变更 #3333
hLinx Dec 17, 2024
faf0b8b
Merge pull request #3339 from hLinx/feature_3.11
hLinx Dec 17, 2024
27ce025
Merge pull request #3335 from wangyu096/issue_3332
wangyu096 Dec 18, 2024
d1de59b
fix: 修复AI 相关请求响应失败的问题 #3340
wangyu096 Dec 18, 2024
bbfc870
fix: 修复AI 相关请求响应失败的问题 #3340
wangyu096 Dec 18, 2024
59fb006
perf: 优化local文件不存在时的报错信息 issue #2986
wuyzh39 Dec 17, 2024
35d71a9
Merge pull request #3341 from wangyu096/issue_3340
jsonwan Dec 18, 2024
1bd049f
perf: 优化local文件不存在时的报错信息 issue #2986
wuyzh39 Dec 18, 2024
e7ff524
perf: 优化local文件不存在时的报错信息 issue #2986
wuyzh39 Dec 19, 2024
0a30dd5
perf: 优化local文件不存在时的报错信息 issue #2986
wuyzh39 Dec 20, 2024
8830cde
Merge pull request #3338 from wuyzh39/issue_2986
jsonwan Dec 20, 2024
2db16a7
perf: job-analysis部分代码优化 #3322
jsonwan Dec 22, 2024
3b74cac
perf: job-analysis部分代码优化 #3322
jsonwan Dec 22, 2024
ef1ad17
perf: job-analysis部分代码优化 #3322
jsonwan Dec 22, 2024
b484a85
perf: 优化属性变化监听逻辑,过滤无需处理的属性 #3343
wangyu096 Dec 23, 2024
e4b1148
Merge pull request #3344 from wangyu096/issue_3343
wangyu096 Dec 23, 2024
0cccdaf
perf: 优化分库分表分片键列的更新 SQL #3346
wangyu096 Dec 23, 2024
bb8936a
Merge pull request #3345 from jsonwan/github_perf/analysis
wangyu096 Dec 23, 2024
64c526c
Merge pull request #3347 from wangyu096/issue_3346
jsonwan Dec 23, 2024
4ee84b6
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 23, 2024
44b1d81
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
3bdda43
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
79760a6
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
12a444b
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
173fd5d
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
db508c1
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
6b417cd
fix: 执行历史归档,备份冷数据不正确 #3349
wangyu096 Dec 24, 2024
52922c3
Merge pull request #3350 from wangyu096/issue_3349
jsonwan Dec 24, 2024
ed8283d
perf: 选择任意一个容器执行时使用随机算法 #3352
jsonwan Dec 25, 2024
54e62fd
fix: 使用 spring 定时任务,线程池配置不合理导致定时任务阻塞 #3355
wangyu096 Dec 25, 2024
9162917
fix: 使用 spring 定时任务,线程池配置不合理导致定时任务阻塞 #3355
wangyu096 Dec 25, 2024
923d943
Merge pull request #3356 from wangyu096/issue_3355
jsonwan Dec 25, 2024
adad841
feat: 解决部分 db 查询未使用 task_instance_id 作为查询条件,导致分片键无法命中的问题 #3357
wangyu096 Dec 25, 2024
c2eafe1
perf: 选择任意一个容器执行时使用随机算法 #3352
jsonwan Dec 25, 2024
78c3185
Merge pull request #3354 from jsonwan/github_perf/execute
jsonwan Dec 25, 2024
987dcca
Merge pull request #3358 from wangyu096/issue_3357
wangyu096 Dec 25, 2024
c16b21c
fix: 重启 job-backup 导致正在执行的归档任务未无损终止 #3359
wangyu096 Dec 25, 2024
0029953
fix: 重启 job-backup 导致正在执行的归档任务未无损终止 #3359
wangyu096 Dec 26, 2024
15bd20c
fix: 重启 job-backup 导致正在执行的归档任务未无损终止 #3359
wangyu096 Dec 26, 2024
ac13a9c
fix: 重启 job-backup 导致正在执行的归档任务未无损终止 #3359
wangyu096 Dec 26, 2024
451ab24
fix: 重启 job-backup 导致正在执行的归档任务未无损终止 #3359
wangyu096 Dec 26, 2024
49729bb
Merge pull request #3360 from wangyu096/issue_3359
wangyu096 Dec 26, 2024
13b6291
perf: 定时任务服务支持优雅停机 #2852
jsonwan Dec 26, 2024
003c6fa
perf: 定时任务服务支持优雅停机 #2852
jsonwan Dec 26, 2024
251e261
perf: 定时任务服务支持优雅停机 #2852
jsonwan Dec 26, 2024
09deee6
Merge pull request #3362 from jsonwan/github_perf/cron
jsonwan Dec 27, 2024
eb7bbc3
fix: 执行历史归档任务重调度逻辑不正确 #3364
wangyu096 Dec 27, 2024
a407060
Merge pull request #3365 from wangyu096/issue_3364
wangyu096 Dec 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
perf: 分库分表改造-任务表以及子表加入 task_instance_id 字段 #2991
wangyu096 committed May 23, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 266f9910c3ed9d6acbc74eb9e2acd33effab9800
Original file line number Diff line number Diff line change
@@ -24,7 +24,6 @@

package com.tencent.bk.job.execute.config;

import com.tencent.bk.job.common.util.json.JsonUtils;
import com.tencent.bk.job.execute.engine.listener.CallbackListener;
import com.tencent.bk.job.execute.engine.listener.GseTaskListener;
import com.tencent.bk.job.execute.engine.listener.JobListener;
@@ -36,7 +35,6 @@
import com.tencent.bk.job.execute.engine.listener.event.ResultHandleTaskResumeEvent;
import com.tencent.bk.job.execute.engine.listener.event.StepEvent;
import com.tencent.bk.job.execute.engine.model.JobCallbackDTO;
import com.tencent.bk.job.execute.model.TaskInstanceRecordStateDO;
import com.tencent.bk.job.execute.model.TaskNotifyDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -58,31 +56,26 @@ public class JobFunctionConfiguration {
public Consumer<Message<JobEvent>> handleJobEvent(@Autowired JobListener jobListener) {
log.info("Init handleJobEvent consumer");

return message -> {
TaskInstanceRecordStateDO taskInstanceRecordStateDO = JsonUtils.fromJson(
message.getHeaders().get("TaskInstanceRecordStateDO", String.class),
TaskInstanceRecordStateDO.class);
jobListener.handleEvent(message.getPayload(), taskInstanceRecordStateDO);
};
return jobListener::onEvent;
}

@Bean
public Consumer<StepEvent> handleStepEvent(@Autowired StepListener stepListener) {
public Consumer<Message<StepEvent>> handleStepEvent(@Autowired StepListener stepListener) {
log.info("Init handleStepEvent consumer");
return stepListener::handleEvent;
return stepListener::onEvent;
}

@Bean
public Consumer<GseTaskEvent> handleGseTaskEvent(@Autowired GseTaskListener gseTaskListener) {
public Consumer<Message<GseTaskEvent>> handleGseTaskEvent(@Autowired GseTaskListener gseTaskListener) {
log.info("Init handleGseTaskEvent consumer");
return gseTaskListener::handleEvent;
return gseTaskListener::onEvent;
}

@Bean
public Consumer<ResultHandleTaskResumeEvent> handleResultHandleResumeEvent(
public Consumer<Message<ResultHandleTaskResumeEvent>> handleResultHandleResumeEvent(
@Autowired ResultHandleResumeListener resultHandleResumeListener) {
log.info("Init handleResultHandleResumeEvent consumer");
return resultHandleResumeListener::handleEvent;
return resultHandleResumeListener::onEvent;
}

@Bean
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/*
* Tencent is pleased to support the open source community by making BK-JOB蓝鲸智云作业平台 available.
*
* Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
*
* BK-JOB蓝鲸智云作业平台 is licensed under the MIT License.
*
* License for BK-JOB蓝鲸智云作业平台:
* --------------------------------------------------------------------
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
* to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of
* the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*/

package com.tencent.bk.job.execute.engine.listener;

import com.tencent.bk.job.common.util.json.JsonUtils;
import com.tencent.bk.job.execute.colddata.JobExecuteContextThreadLocalRepo;
import com.tencent.bk.job.execute.common.context.PropagatedJobExecuteContext;
import com.tencent.bk.job.execute.engine.listener.event.Event;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;

@Slf4j
public abstract class BaseJobExecuteMqListener {


public final void onEvent(Message<? extends Event> message) {
beforeHandleMessage(message);
try {
handleEvent(message);
} finally {
afterHandle(message);
}
}

private void beforeHandleMessage(Message<?> message) {
log.info("beforeHandleMessage");
MessageHeaders headers = message.getHeaders();
String jobExecuteContextJson = (String) headers.get(PropagatedJobExecuteContext.KEY);
if (StringUtils.isNotEmpty(jobExecuteContextJson)) {
log.info("setJobExecuteContextThreadLocalRepo");
JobExecuteContextThreadLocalRepo.set(JsonUtils.fromJson(jobExecuteContextJson,
PropagatedJobExecuteContext.class));
}
}

private void afterHandle(Message<?> message) {
log.info("afterHandleMessage");
JobExecuteContextThreadLocalRepo.unset();
}

protected abstract void handleEvent(Message<? extends Event> message);
}
Original file line number Diff line number Diff line change
@@ -28,20 +28,22 @@
import com.tencent.bk.job.execute.common.exception.MessageHandlerUnavailableException;
import com.tencent.bk.job.execute.engine.consts.GseTaskActionEnum;
import com.tencent.bk.job.execute.engine.executor.GseTaskManager;
import com.tencent.bk.job.execute.engine.listener.event.Event;
import com.tencent.bk.job.execute.engine.listener.event.GseTaskEvent;
import com.tencent.bk.job.execute.model.GseTaskDTO;
import com.tencent.bk.job.execute.monitor.metrics.GseTasksExceptionCounter;
import com.tencent.bk.job.execute.service.GseTaskService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

/**
* 执行引擎事件处理-GSE任务
*/
@Component
@Slf4j
public class GseTaskListener {
public class GseTaskListener extends BaseJobExecuteMqListener {
private final GseTaskManager gseTaskManager;
private final GseTaskService gseTaskService;
private final GseTasksExceptionCounter gseTasksExceptionCounter;
@@ -58,9 +60,11 @@ public GseTaskListener(GseTaskManager gseTaskManager,
/**
* 处理GSE任务相关的事件
*
* @param gseTaskEvent GSE任务事件
* @param message 消息
*/
public void handleEvent(GseTaskEvent gseTaskEvent) {
@Override
public void handleEvent(Message<? extends Event> message) {
GseTaskEvent gseTaskEvent = (GseTaskEvent) message.getPayload();
log.info("Handle gse task event: {}, duration: {}ms", gseTaskEvent, gseTaskEvent.duration());
GseTaskDTO gseTask = gseTaskService.getGseTask(gseTaskEvent.getJobInstanceId(), gseTaskEvent.getGseTaskId());
String requestId = gseTaskEvent.getRequestId();
Original file line number Diff line number Diff line change
@@ -30,14 +30,14 @@
import com.tencent.bk.job.execute.common.constants.RunStatusEnum;
import com.tencent.bk.job.execute.common.util.TaskCostCalculator;
import com.tencent.bk.job.execute.engine.consts.JobActionEnum;
import com.tencent.bk.job.execute.engine.listener.event.Event;
import com.tencent.bk.job.execute.engine.listener.event.JobEvent;
import com.tencent.bk.job.execute.engine.listener.event.StepEvent;
import com.tencent.bk.job.execute.engine.listener.event.TaskExecuteMQEventDispatcher;
import com.tencent.bk.job.execute.engine.model.JobCallbackDTO;
import com.tencent.bk.job.execute.model.RollingConfigDTO;
import com.tencent.bk.job.execute.model.StepInstanceBaseDTO;
import com.tencent.bk.job.execute.model.TaskInstanceDTO;
import com.tencent.bk.job.execute.model.TaskInstanceRecordStateDO;
import com.tencent.bk.job.execute.model.db.RollingConfigDetailDO;
import com.tencent.bk.job.execute.service.NotifyService;
import com.tencent.bk.job.execute.service.RollingConfigService;
@@ -47,6 +47,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

import java.util.Collection;
@@ -57,7 +58,7 @@
*/
@Component("jobEventListener")
@Slf4j
public class JobListener {
public class JobListener extends BaseJobExecuteMqListener {

private final TaskExecuteMQEventDispatcher taskExecuteMQEventDispatcher;
private final StatisticsService statisticsService;
@@ -85,11 +86,12 @@ public JobListener(TaskExecuteMQEventDispatcher taskExecuteMQEventDispatcher,
/**
* 处理作业执行相关的事件
*
* @param jobEvent 作业执行相关的事件
* @param message 消息
*/
public void handleEvent(JobEvent jobEvent, TaskInstanceRecordStateDO taskInstanceRecordStateDO) {
log.info("Handle job event, event: {}, duration: {}ms, taskInstanceRecordStateDO: {}",
jobEvent, jobEvent.duration(), taskInstanceRecordStateDO);
@Override
public void handleEvent(Message<? extends Event> message) {
JobEvent jobEvent = (JobEvent) message.getPayload();
log.info("Handle job event, event: {}, duration: {}ms", jobEvent, jobEvent.duration());
long jobInstanceId = jobEvent.getJobInstanceId();
JobActionEnum action = JobActionEnum.valueOf(jobEvent.getAction());
try {
@@ -319,7 +321,7 @@ private void startStep(StepInstanceBaseDTO stepInstance) {
stepInstance.getId(), RunStatusEnum.ROLLING_WAITING.getValue());
taskExecuteMQEventDispatcher.dispatchStepEvent(
StepEvent.startStep(stepInstance.getTaskInstanceId(), stepInstance.getId(),
stepInstance.getBatch() + 1));
stepInstance.getBatch() + 1));
} else {
stepInstanceService.updateStepStatus(stepInstance.getTaskInstanceId(),
stepInstance.getId(), RunStatusEnum.BLANK.getValue());
Original file line number Diff line number Diff line change
@@ -30,6 +30,7 @@
import com.tencent.bk.job.execute.common.constants.RunStatusEnum;
import com.tencent.bk.job.execute.config.FileDistributeConfig;
import com.tencent.bk.job.execute.engine.evict.TaskEvictPolicyExecutor;
import com.tencent.bk.job.execute.engine.listener.event.Event;
import com.tencent.bk.job.execute.engine.listener.event.ResultHandleTaskResumeEvent;
import com.tencent.bk.job.execute.engine.listener.event.TaskExecuteMQEventDispatcher;
import com.tencent.bk.job.execute.engine.model.FileDest;
@@ -56,6 +57,7 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

import java.util.HashMap;
@@ -69,7 +71,7 @@
*/
@Component
@Slf4j
public class ResultHandleResumeListener {
public class ResultHandleResumeListener extends BaseJobExecuteMqListener {
private final TaskInstanceService taskInstanceService;

private final ResultHandleManager resultHandleManager;
@@ -132,7 +134,8 @@ public ResultHandleResumeListener(TaskInstanceService taskInstanceService,
/**
* 恢复被中断的作业结果处理任务
*/
public void handleEvent(ResultHandleTaskResumeEvent event) {
public void handleEvent(Message<? extends Event> message) {
ResultHandleTaskResumeEvent event = (ResultHandleTaskResumeEvent) message.getPayload();
log.info("Receive gse task result handle task resume event: {}, duration: {}ms", event, event.duration());
GseTaskDTO gseTask = gseTaskService.getGseTask(event.getJobInstanceId(), event.getGseTaskId());
long stepInstanceId = gseTask.getStepInstanceId();
Original file line number Diff line number Diff line change
@@ -25,19 +25,21 @@
package com.tencent.bk.job.execute.engine.listener;

import com.tencent.bk.job.execute.common.constants.StepExecuteTypeEnum;
import com.tencent.bk.job.execute.engine.listener.event.Event;
import com.tencent.bk.job.execute.engine.listener.event.StepEvent;
import com.tencent.bk.job.execute.model.StepInstanceDTO;
import com.tencent.bk.job.execute.service.StepInstanceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Component;

/**
* 执行引擎事件处理-步骤
*/
@Component
@Slf4j
public class StepListener {
public class StepListener extends BaseJobExecuteMqListener {
private final StepInstanceService stepInstanceService;
private final GseStepEventHandler gseStepEventHandler;
private final ConfirmStepEventHandler confirmStepEventHandler;
@@ -54,9 +56,11 @@ public StepListener(StepInstanceService stepInstanceService,
/**
* 处理步骤执行相关的事件
*
* @param stepEvent 步骤执行相关的事件
* @param message 消息
*/
public void handleEvent(StepEvent stepEvent) {
@Override
public void handleEvent(Message<? extends Event> message) {
StepEvent stepEvent = (StepEvent) message.getPayload();
log.info("Handle step event: {}, duration: {}ms", stepEvent, stepEvent.duration());
long stepInstanceId = stepEvent.getStepInstanceId();
try {