Browse Source

定时任务配置

zhangheng 3 years ago
parent
commit
c7187a2920

+ 15 - 6
server/src/main/java/edp/davinci/controller/QualityTaskController.java

@@ -101,7 +101,7 @@ public class QualityTaskController extends BaseController {
     private void dualQualityTasks(List<QualityTask> qualityTasks) {
         if (!Collections.isEmpty(qualityTasks)) {
             for (QualityTask qualityTask : qualityTasks) {
-                if(!StringUtils.isEmpty(qualityTask.getMetadataConfig())){
+                if (!StringUtils.isEmpty(qualityTask.getMetadataConfig())) {
                     JSONArray jsonArray = JSONArray.parseArray(qualityTask.getMetadataConfig());
                     qualityTask.setAuditorCount(jsonArray.size());
                 }
@@ -224,16 +224,25 @@ public class QualityTaskController extends BaseController {
             return ResponseEntity.status(resultMap.getCode()).body(resultMap);
         }
 
-        CronJobInfo jobInfo = cronJobService.createCronJob(cronJob, user);
+        QualityTask qualityTask = qualityTaskService.getQualityTask(id);
 
-        // 3. 更新定时规则id到任务中
-        QualityTask qualityTask = new QualityTask();
-        qualityTask.setId(id);
+        // 2. 判断任务状态
+        if (null != qualityTask) {
+            if (!StringUtils.isEmpty(qualityTask.getCronJobId())) {
+                // 停止
+                cronJobService.stopCronJob(qualityTask.getCronJobId(),user);
+                // 删掉任务
+                cronJobService.deleteCronJob(qualityTask.getCronJobId(),user);
+            }
+        }
+        // 3. 创建任务
+        CronJobInfo jobInfo = cronJobService.createCronJob(cronJob,user);
+
+        // 4. 更新定时规则id到任务中
         qualityTask.setCronJobId(jobInfo.getId());
         qualityTaskService.updateQualityTask(qualityTask);
 
 
-
         // 3. 执行
         if (cronJob.getJobStatus().equals(CronJobStatusEnum.START)) { // 启动 激活
             // cronJobService.executeCronJob()