ソースを参照

任务暂停、删除优化,避免quartz delete不完整导致任务脏数据;

xuxueli 6 年 前
コミット
53da9ce259
共有2 個のファイルを変更した7 個の追加4 個の削除を含む
  1. 1 0
      doc/XXL-JOB官方文档.md
  2. 6 4
      xxl-job-admin/src/main/java/com/xxl/job/admin/core/schedule/XxlJobDynamicScheduler.java

+ 1 - 0
doc/XXL-JOB官方文档.md ファイルの表示

@@ -1420,6 +1420,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1420 1420
 - 6、底层Log调优,应用正常终止取消异常栈信息打印;
1421 1421
 - 7、交互优化,尽量避免新开页面窗口;仅WebIDE支持新开页,并提供窗口快速关闭按钮;
1422 1422
 - 8、[测试中]底层通讯方案优化:升级较新版本xxl-rpc,由"JETTY"方案调整为"NETTY_HTTP"方案,执行器内嵌netty-http-server提供服务,调度中心复用容器端口提供服务;
1423
+- 9、[测试中]任务暂停、删除优化,避免quartz delete不完整导致任务脏数据;
1423 1424
 - [迭代中]注册中心优化,实时性注册发现:心跳注册间隔10s,refresh失败则首次注册并立即更新注册信息,心跳类似;30s过期销毁;
1424 1425
 - [迭代中]脚本任务,支持数据参数,新版本仅支持单参数不支持需要兼容;
1425 1426
 - [迭代中]提供执行器Docker镜像;

+ 6 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/core/schedule/XxlJobDynamicScheduler.java ファイルの表示

@@ -230,7 +230,7 @@ public final class XxlJobDynamicScheduler {
230 230
         // 5、schedule job
231 231
         Date date = scheduler.scheduleJob(jobDetail, cronTrigger);
232 232
 
233
-        logger.info(">>>>>>>>>>> addJob success, jobDetail:{}, cronTrigger:{}, date:{}", jobDetail, cronTrigger, date);
233
+        logger.info(">>>>>>>>>>> addJob success(quartz), jobDetail:{}, cronTrigger:{}, date:{}", jobDetail, cronTrigger, date);
234 234
         return true;
235 235
     }
236 236
 
@@ -245,13 +245,15 @@ public final class XxlJobDynamicScheduler {
245 245
      */
246 246
     public static boolean removeJob(String jobName, String jobGroup) throws SchedulerException {
247 247
 
248
-        TriggerKey triggerKey = TriggerKey.triggerKey(jobName, jobGroup);
248
+        JobKey jobKey = new JobKey(jobName, jobGroup);
249
+        scheduler.deleteJob(jobKey);
249 250
 
251
+        /*TriggerKey triggerKey = TriggerKey.triggerKey(jobName, jobGroup);
250 252
         if (scheduler.checkExists(triggerKey)) {
251 253
             scheduler.unscheduleJob(triggerKey);    // trigger + job
252
-        }
254
+        }*/
253 255
 
254
-        logger.info(">>>>>>>>>>> removeJob success, triggerKey:{}", triggerKey);
256
+        logger.info(">>>>>>>>>>> removeJob success(quartz), triggerKey:{}", jobKey);
255 257
         return true;
256 258
     }
257 259