diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 628d9f3b..d75e24c0 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2748,8 +2748,10 @@ public void execute() { - 2、【优化】调度线程事务提交逻辑调整,避免边界条件下线程异常退出,增强健壮性; - 3、【优化】调度日志列表排序逻辑优化,提升易读性; - 4、【优化】表格交互优化:优化分页显示配置;禁用分页循环;多选行操作优化/默认单选; -- 5、【TODO】任务调度触发后分批批量更新,提升调度性能; -- 6、【TODO】优雅停机:服务端停机,检测时间轮非空sleep 5s;客户端停机,检测任务运行中,server停止后sleep5s; +- 5、【ING】优雅停机:服务端停机,检测时间轮非空sleep 5s; + - 客户端停机,检测任务运行中,server停止后sleep5s; +- 6、【TODO】任务调度触发后分批批量更新,提升调度性能; + ### TODO LIST 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 29acfc18..9d66d54e 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 @@ -24,7 +24,14 @@ public class JobScheduleHelper { private static final Logger logger = LoggerFactory.getLogger(JobScheduleHelper.class); - public static final long PRE_READ_MS = 5000; // pre read + /** + * pre-read time for scheduler, increase efficiency + */ + public static final long PRE_READ_MS = 5000; + /* + * elegant shutdown wait seconds + */ + private static final long ELEGANT_SHUTDOWN_WAITING_SECONDS = 10; private Thread scheduleThread; private Thread ringThread; @@ -316,7 +323,7 @@ public class JobScheduleHelper { } } - // if has ring data + // if has ring data, wait for elegent shutdown boolean hasRingData = false; if (MapTool.isNotEmpty(ringData)) { for (int second : ringData.keySet()) { @@ -329,7 +336,7 @@ public class JobScheduleHelper { } if (hasRingData) { try { - TimeUnit.SECONDS.sleep(8); + TimeUnit.SECONDS.sleep(ELEGANT_SHUTDOWN_WAITING_SECONDS); } catch (Throwable e) { logger.error(e.getMessage(), e); } diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobTriggerPoolHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobTriggerPoolHelper.java index fc55c07e..9a12ee29 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobTriggerPoolHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/scheduler/thread/JobTriggerPoolHelper.java @@ -14,7 +14,7 @@ import java.util.concurrent.atomic.AtomicInteger; * @author xuxueli 2018-07-03 21:08:07 */ public class JobTriggerPoolHelper { - private static Logger logger = LoggerFactory.getLogger(JobTriggerPoolHelper.class); + private static final Logger logger = LoggerFactory.getLogger(JobTriggerPoolHelper.class); // ---------------------- trigger pool ----------------------