From c88d76c4492c583c1f3868c40a584e54002f8b55 Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Thu, 29 Oct 2020 11:50:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E4=B8=AD=E5=BF=83=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=8A=A0=E8=BD=BD=E9=A1=BA=E5=BA=8F=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=9E=81=E7=AB=AF=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8B=E8=B0=83=E5=BA=A6=E7=BB=84=E4=BB=B6=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E6=85=A2=E5=AF=BC=E8=87=B4=E7=9A=84=E8=B0=83=E5=BA=A6=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 5 +++-- .../admin/core/scheduler/XxlJobScheduler.java | 16 ++++++++-------- .../admin/core/thread/JobLosedMonitorHelper.java | 9 +++++++++ 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 9a5f22c1..b2c297e0 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2059,8 +2059,9 @@ data: post-data - 13、调度中心远程执行日志查询乱码问题修复; - 14、执行器注册表字段优化,解决执行器注册节点过多导致注册信息存储和更新失败的问题; - 15、调度通讯组件优化,修复RestFul方式调用 DotNet 版本执行器时心跳检测失败问题; -- 16、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等; -- 17、[规划中]分片任务:全部完成后才会出发后置节点; +- 16、调度中心组件加载顺序优化,修复极端情况下调度组件初始慢导致的调度失败问题; +- 17、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等; +- 18、[规划中]分片任务:全部完成后才会出发后置节点; ### 7.32 版本 v2.3.0 Release Notes[规划中] - 1、[规划中]DAG流程任务 diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java index 6dc6b6c2..aae99283 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/scheduler/XxlJobScheduler.java @@ -24,22 +24,22 @@ public class XxlJobScheduler { // init i18n initI18n(); + // admin trigger pool start + JobTriggerPoolHelper.toStart(); + // admin registry monitor run JobRegistryMonitorHelper.getInstance().start(); // admin fail-monitor run JobFailMonitorHelper.getInstance().start(); - // admin lose-monitor run + // admin lose-monitor run ( depend on JobTriggerPoolHelper ) JobLosedMonitorHelper.getInstance().start(); - // admin trigger pool start - JobTriggerPoolHelper.toStart(); - // admin log report start JobLogReportHelper.getInstance().start(); - // start-schedule + // start-schedule ( depend on JobTriggerPoolHelper ) JobScheduleHelper.getInstance().start(); logger.info(">>>>>>>>> init xxl-job admin success."); @@ -54,9 +54,6 @@ public class XxlJobScheduler { // admin log report stop JobLogReportHelper.getInstance().toStop(); - // admin trigger pool stop - JobTriggerPoolHelper.toStop(); - // admin lose-monitor stop JobLosedMonitorHelper.getInstance().toStop(); @@ -66,6 +63,9 @@ public class XxlJobScheduler { // admin registry stop JobRegistryMonitorHelper.getInstance().toStop(); + // admin trigger pool stop + JobTriggerPoolHelper.toStop(); + } // ---------------------- I18n ---------------------- diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java index 488443f9..7658bc7b 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobLosedMonitorHelper.java @@ -35,6 +35,15 @@ public class JobLosedMonitorHelper { @Override public void run() { + // wait for JobTriggerPoolHelper-init + try { + TimeUnit.MILLISECONDS.sleep(50); + } catch (InterruptedException e) { + if (!toStop) { + logger.error(e.getMessage(), e); + } + } + // monitor while (!toStop) { try {