From 7b9fd954125a08cc01236aa33779271580afcbde Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sun, 29 Mar 2026 16:35:48 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E6=80=A7=E8=83=BD=E6=8F=90=E5=8D=87=EF=BC=9A=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=A7=A6=E5=8F=91=E5=90=8E=E5=88=86=E6=89=B9=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=9B=B4=E6=96=B0=EF=BC=8C=E9=AB=98=E9=A2=91=E8=B0=83?= =?UTF-8?q?=E5=BA=A6=E5=9C=BA=E6=99=AF=E5=8F=AF=E7=99=BE=E5=80=8D=E9=99=8D?= =?UTF-8?q?=E4=BD=8ESQL=E6=93=8D=E4=BD=9C=E5=90=88=E5=B9=B6=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=EF=BC=8C=E6=8F=90=E5=8D=87=E8=B0=83=E5=BA=A6=E6=80=A7?= =?UTF-8?q?=E8=83=BD=EF=BC=9B=20=EF=BC=88=E6=96=B0=E5=A2=9E=E2=80=9C?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0=EF=BC=88?= =?UTF-8?q?xxl.job.schedule.batchsize=EF=BC=89=E2=80=9D=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=A1=B9=EF=BC=8C=E6=94=AF=E6=8C=81=E5=8A=A8=E6=80=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=89=B9=E9=87=8F=E6=93=8D=E4=BD=9C=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 3 ++- .../admin/scheduler/config/XxlJobAdminBootstrap.java | 10 ++++++++++ .../job/admin/scheduler/thread/JobScheduleHelper.java | 2 +- .../src/main/resources/application.properties | 3 +++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 4b59fc83..8df854ea 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2785,7 +2785,8 @@ public void execute() { - 10、【优化】统一项目依赖管理结构,依赖版本统一到父级pom提升可维护性; ### 7.44 版本 v3.4.0 Release Notes[ING] -- 1、【优化】调度性能提升:任务触发后分批批量更新,提升调度性能; +- 1、【新增】调度性能提升:任务触发后分批批量更新,高频调度场景可百倍降低SQL操作合并执行,提升调度性能; +(新增“任务批量更新(xxl.job.schedule.batchsize)”配置项,支持动态修改批量操作大小) - 2、【调整】Docker基础镜像调整为eclipse-temurin; - 3、【优化】父POM依赖配置优化,移除容易配置;合并PR-3926; - 4、【升级】升级多项maven依赖至较新版本; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/config/XxlJobAdminBootstrap.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/config/XxlJobAdminBootstrap.java index 52475262..05d13a12 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/config/XxlJobAdminBootstrap.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/config/XxlJobAdminBootstrap.java @@ -181,6 +181,9 @@ public class XxlJobAdminBootstrap implements InitializingBean, DisposableBean { @Value("${xxl.job.triggerpool.slow.max}") private int triggerPoolSlowMax; + @Value("${xxl.job.schedule.batchsize}") + private int scheduleBatchSize; + @Value("${xxl.job.logretentiondays}") private int logretentiondays; @@ -244,6 +247,13 @@ public class XxlJobAdminBootstrap implements InitializingBean, DisposableBean { return triggerPoolSlowMax; } + public int getScheduleBatchSize() { + if (!(scheduleBatchSize >=50 && scheduleBatchSize <= 500)) { + return 100; + } + return scheduleBatchSize; + } + public int getLogretentiondays() { if (logretentiondays < 3) { return -1; // Limit greater than or equal to 3, otherwise close diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java index 3bb89292..e8beadd2 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobScheduleHelper.java @@ -141,7 +141,7 @@ public class JobScheduleHelper { /*for (XxlJobInfo jobInfo: scheduleList) { XxlJobAdminBootstrap.getInstance().getXxlJobInfoMapper().scheduleUpdate(jobInfo); }*/ - int batchSize = 100; + int batchSize = XxlJobAdminBootstrap.getInstance().getScheduleBatchSize(); List> scheduleListBatches = CollectionTool.split(scheduleList, batchSize); for (List scheduleListBatch : scheduleListBatches) { int totalAffected = XxlJobAdminBootstrap.getInstance().getXxlJobInfoMapper().scheduleBatchUpdate(scheduleListBatch); diff --git a/xxl-job-admin/src/main/resources/application.properties b/xxl-job-admin/src/main/resources/application.properties index abac8fca..4ea78699 100644 --- a/xxl-job-admin/src/main/resources/application.properties +++ b/xxl-job-admin/src/main/resources/application.properties @@ -64,6 +64,9 @@ xxl.job.i18n=zh_CN xxl.job.triggerpool.fast.max=300 xxl.job.triggerpool.slow.max=200 +## xxl-job, schedule batch size +xxl.job.schedule.batchsize=100 + ### xxl-job, log retention days xxl.job.logretentiondays=30