diff --git "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" index 00ef5946ef57a7dbdacb52995ca9630c85b0243a..17dcc181eb929b49d03ba5b50caf6157f9d31a93 100644 --- "a/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.md" +++ "b/doc/XXL-JOB\345\256\230\346\226\271\346\226\207\346\241\243.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 bb1e63d60644d1c59abdf69348b613e12436e626..3b4d95fdfbb76a547c97a16bc44c19d57fa73100 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 e43ec7a03a58238fc1b46a511afdaaf5ceed1c10..0061373876283fccf597aafc6c91a9a08dfafcbc 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