From 7604cc8b5bc4ca319e1fd5d12ed53655f528fccd Mon Sep 17 00:00:00 2001 From: lijiuwei Date: Fri, 30 May 2025 10:58:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/inspect/job/task/JobMainTask.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java b/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java index e22722e..eb1d692 100644 --- a/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java +++ b/inspect-job/src/main/java/com/inspect/job/task/JobMainTask.java @@ -45,6 +45,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -1666,6 +1667,14 @@ public class JobMainTask { } } + Map taskInfos = new HashMap<>(); + + @Scheduled(cron="0 10 0 * * ?") + public void fixedTimer() { + log.info("JobMainTask fixedTimer clear taskInfos: {}", taskInfos.size()); + taskInfos.clear(); + } + @SuppressWarnings({"unused"}) public void execEveryDayTask() { log.info("***************************** JobTaskTimer execEveryDayTask *************************************"); @@ -1687,7 +1696,8 @@ public class JobMainTask { long fixedDays = TimeUnit.MILLISECONDS.toDays(planTime); long fixedStartMinutes = TimeUnit.MILLISECONDS.toMinutes(planTime); - if (currentDays == fixedDays && currentMinutes >= fixedStartMinutes) { + if (taskInfos.get(redisKey) == null && currentDays == fixedDays && currentMinutes >= fixedStartMinutes) { + taskInfos.put(redisKey, "1"); extractRedisTask(redisKey, taskCode); } }