perf: 项目启动时删除所有重试任务

This commit is contained in:
fit2cloud-chenyw 2024-07-09 19:15:59 +08:00
parent 6a884b6171
commit b046d03357
3 changed files with 14 additions and 4 deletions

View File

@ -105,4 +105,8 @@ public class DeTaskExecutor {
TriggerKey triggerKey = new TriggerKey(key, RETRY_JOB_GROUP);
scheduleManager.removeJob(jobKey, triggerKey);
}
public void clearRetryTask() throws Exception {
scheduleManager.clearByGroup(RETRY_JOB_GROUP);
}
}

View File

@ -6,12 +6,10 @@ import io.dataease.i18n.Translator;
import io.dataease.utils.LogUtil;
import jakarta.annotation.Resource;
import org.quartz.*;
import org.quartz.impl.matchers.GroupMatcher;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Component
public class ScheduleManager {
@ -440,4 +438,11 @@ public class ScheduleManager {
}
}
public void clearByGroup(String groupName) throws Exception {
Set<JobKey> jobKeys = scheduler.getJobKeys(GroupMatcher.groupEquals(groupName));
Set<TriggerKey> triggerKeys = scheduler.getTriggerKeys(GroupMatcher.groupEquals(groupName));
scheduler.pauseTriggers(GroupMatcher.groupEquals(groupName));
scheduler.unscheduleJobs(new ArrayList<>(triggerKeys));
scheduler.deleteJobs(new ArrayList<>(jobKeys));
}
}

View File

@ -21,6 +21,7 @@ public class XpackTaskStarter implements ApplicationRunner {
try {
LicenseUtil.validate();
deTaskExecutor.init();
deTaskExecutor.clearRetryTask();
} catch (Exception e) {
LogUtil.error(e.getMessage(), e.getCause());
}