From 07031138192a3aa3745d26d406b37967169e1ce6 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Wed, 2 Aug 2017 12:04:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0RM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 9 ++++----- .../xxl/job/admin/core/thread/JobFailMonitorHelper.java | 2 +- .../job/admin/core/thread/JobRegistryMonitorHelper.java | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 00ef5946..17dcc181 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -942,15 +942,14 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 #### TODO LIST - 1、任务权限管理:执行器为粒度分配权限,核心操作校验权限; -- 2、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动; -- 3、失败重试优化:目前失败重试逻辑为,在本次调度请求失败后重新执行一次请求逻辑。优化点为针对调度和执行失败时均做失败重试,重试时重新触发一次完整调度,这将可能导致失败是调度死循环,考虑中。 +- 2、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动;目前采用IP自然排序,可以满足需求,待定; +- 3、失败重试优化:目前失败重试逻辑为,在本次调度请求失败后重新执行一次请求逻辑。优化点为针对调度和执行失败时均做失败重试,重试时重新触发一次完整调度,这将可能导致失败是调度死循环,待定。 - 4、回调失败写文件,查看日志时读文件确认,重启后回调确认; - 5、任务依赖,流程图,子任务+会签任务,各节点日志; - 6、调度任务优先级; - 7、移除quartz依赖,重写调度模块:新增或恢复任务时将下次执行记录插入delayqueue,调度中心集群竞争分布式锁,成功节点批量加载到期delayqueue数据,批量执行。 -- 8、任务执行结果回调失败后重试:待定,防止回调死循环; -- 9、springboot 和 docker镜像,并且推送docker镜像到中央仓库,更进一步实现产品开箱即用; -- 10、安全校验:调度中心和执行器约定公共密匙,只有密匙一致才允许相互通讯; +- 8、springboot 和 docker镜像,并且推送docker镜像到中央仓库,更进一步实现产品开箱即用; +- 9、国际化:调度中心界面 + 官方文档,新增英文版本。 ## 七、其他 diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java index bb1e63d6..3b4d95fd 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java @@ -30,7 +30,7 @@ public class JobFailMonitorHelper { private LinkedBlockingQueue queue = new LinkedBlockingQueue(0xfff8); private Thread monitorThread; - private boolean toStop = false; + private volatile boolean toStop = false; public void start(){ monitorThread = new Thread(new Runnable() { diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java index e43ec7a0..00613738 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryMonitorHelper.java @@ -28,7 +28,7 @@ public class JobRegistryMonitorHelper { } private Thread registryThread; - private boolean toStop = false; + private volatile boolean toStop = false; public void start(){ registryThread = new Thread(new Runnable() { @Override