From 01a81beea99c0298a3b6178c7796f4c27b30c6c7 Mon Sep 17 00:00:00 2001 From: eight <641137800@qq.com> Date: 星期二, 15 四月 2025 14:27:50 +0800 Subject: [PATCH] pat detail. 新增 appontment_id --- jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java | 51 +++++++-------------------------------------------- 1 files changed, 7 insertions(+), 44 deletions(-) diff --git a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java index 1eccc87..8581e52 100644 --- a/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java +++ b/jh-module-ecg/jh-module-ecg-biz/src/main/java/cn/lihu/jh/module/ecg/config/DynamicSchedulingConfig.java @@ -1,67 +1,30 @@ package cn.lihu.jh.module.ecg.config; -import cn.lihu.jh.module.ecg.Utils; import cn.lihu.jh.module.ecg.service.queue.QueueService; import cn.lihu.jh.module.ecg.service.room.RoomService; import cn.lihu.jh.module.infra.api.config.ConfigApi; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.SchedulingConfigurer; -import org.springframework.scheduling.config.CronTask; -import org.springframework.scheduling.config.ScheduledTask; import org.springframework.scheduling.config.ScheduledTaskRegistrar; import javax.annotation.Resource; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; -import java.util.List; import java.util.concurrent.Executors; - -import static cn.lihu.jh.module.ecg.Constants.ECG_OPENING_TIME_KEY; -import static cn.lihu.jh.module.ecg.Constants.ECG_ROOM_RESET_TIME_KEY; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; @Configuration @EnableScheduling public class DynamicSchedulingConfig implements SchedulingConfigurer { - @Resource - private ConfigApi configApi; - - @Resource - private QueueService queueService; - - @Resource - private RoomService roomService; + public static ScheduledTaskRegistrar static_scheduledTaskRegistrar; @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { - taskRegistrar.setScheduler(Executors.newScheduledThreadPool(1)); + DynamicSchedulingConfig.static_scheduledTaskRegistrar = taskRegistrar; - String strOpenCloseTime = configApi.getConfigValueByKey(ECG_OPENING_TIME_KEY); - List<LocalTime> list = Utils.parseOpeningTime(strOpenCloseTime); - LocalTime openingTime = list.get(0); - LocalTime closeTime = list.get(1); - String openCronExpression = String.format("0 %d %d * * ?", openingTime.getMinute(), openingTime.getHour()); - String closeCronExpression = String.format("0 %d %d * * ?", closeTime.getMinute(), closeTime.getHour()); - - String strRoomResetTime = configApi.getConfigValueByKey(ECG_ROOM_RESET_TIME_KEY); - LocalTime roomResetTime = Utils.parseTime(strRoomResetTime); - String roomResetCronExpression = String.format("0 %d %d * * ?", roomResetTime.getMinute(), roomResetTime.getHour()); - - taskRegistrar.scheduleCronTask(new CronTask(() -> { - System.out.println("Opening Task executed at: " + System.currentTimeMillis()); - queueService.startBiz(); - }, openCronExpression)); - - taskRegistrar.scheduleCronTask(new CronTask(() -> { - System.out.println("Close Task executed at: " + System.currentTimeMillis()); - queueService.closeBiz(); - }, closeCronExpression)); - - taskRegistrar.scheduleCronTask(new CronTask(() -> { - System.out.println("Room Reset Task executed at: " + System.currentTimeMillis()); - roomService.resetRoom(); - }, roomResetCronExpression)); + ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1); + scheduledThreadPoolExecutor.setRemoveOnCancelPolicy(true); + taskRegistrar.setScheduler(scheduledThreadPoolExecutor); } - } -- Gitblit v1.9.3