提交 b622ee8a authored 作者: junjie's avatar junjie

feat(fix):定时任务修复

上级 4dff1f4d
...@@ -2,13 +2,13 @@ package io.dataease.job.sechedule; ...@@ -2,13 +2,13 @@ package io.dataease.job.sechedule;
import io.dataease.commons.utils.LogUtil; import io.dataease.commons.utils.LogUtil;
import org.quartz.*; import org.quartz.*;
import org.quartz.impl.triggers.CronTriggerImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat; import java.util.Date;
import java.util.Calendar; import java.util.HashMap;
import java.util.*; import java.util.List;
import java.util.Map;
@Component @Component
public class ScheduleManager { public class ScheduleManager {
...@@ -84,6 +84,8 @@ public class ScheduleManager { ...@@ -84,6 +84,8 @@ public class ScheduleManager {
} else { } else {
triggerBuilder.endAt(endTime); triggerBuilder.endAt(endTime);
} }
} else {
triggerBuilder.endAt(null);
} }
triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cron)); triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cron));
...@@ -167,6 +169,8 @@ public class ScheduleManager { ...@@ -167,6 +169,8 @@ public class ScheduleManager {
} else { } else {
triggerBuilder.endAt(endTime); triggerBuilder.endAt(endTime);
} }
} else {
triggerBuilder.endAt(null);
} }
triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cron));// 触发器时间设定 triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cron));// 触发器时间设定
......
...@@ -26,7 +26,13 @@ public class AppStartListener implements ApplicationListener<ApplicationReadyEve ...@@ -26,7 +26,13 @@ public class AppStartListener implements ApplicationListener<ApplicationReadyEve
List<DatasetTableTask> list = dataSetTableTaskService.list(new DatasetTableTask()); List<DatasetTableTask> list = dataSetTableTaskService.list(new DatasetTableTask());
for (DatasetTableTask task : list) { for (DatasetTableTask task : list) {
try { try {
scheduleService.addSchedule(task); if (task.getEndTime() != null && task.getEndTime() > 0) {
if (task.getEndTime() > System.currentTimeMillis()) {
scheduleService.addSchedule(task);
}
} else {
scheduleService.addSchedule(task);
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -37,6 +37,10 @@ public class ScheduleService { ...@@ -37,6 +37,10 @@ public class ScheduleService {
// if (endTime.before(new Date())) { // if (endTime.before(new Date())) {
// return; // return;
// } // }
if (endTime.before(new Date())) {
deleteSchedule(datasetTableTask);
return;
}
} }
scheduleManager.addOrUpdateCronJob(new JobKey(datasetTableTask.getId(), datasetTableTask.getTableId()), scheduleManager.addOrUpdateCronJob(new JobKey(datasetTableTask.getId(), datasetTableTask.getTableId()),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论