diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/task/AgvTaskScheduler.java b/src/main/java/com/gaotao/modules/automatedWarehouse/task/AgvTaskScheduler.java index b665608..053b6fb 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/task/AgvTaskScheduler.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/task/AgvTaskScheduler.java @@ -5,6 +5,7 @@ import com.gaotao.modules.automatedWarehouse.entity.WmsTransportTaskDetail; import com.gaotao.modules.automatedWarehouse.service.AgvTaskService; import lombok.extern.slf4j.Slf4j; 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; @@ -20,6 +21,9 @@ public class AgvTaskScheduler { @Autowired private AgvTaskService agvTaskService; + + @Value("${scheduler.agv.enabled:true}") + private boolean enabled; /** * 定时任务:每分钟执行一次AGV任务优先级调度 @@ -27,9 +31,15 @@ public class AgvTaskScheduler { * 调度策略: * - 如果执行中任务数 >= 10,则不下发新任务 * - 如果执行中任务数 < 10,则下发多个优先级高的任务,但总数不超过10 + * 配置说明:通过 scheduler.agv.enabled 控制是否启用 */ @Scheduled(cron = "0 * * * * ?") public void scheduleAgvTaskByPriority() { + // 检查定时任务开关 + if (!enabled) { + return; + } + log.info("=== 开始执行AGV任务优先级调度定时任务 ==="); try { @@ -97,9 +107,15 @@ public class AgvTaskScheduler { /** * 定时任务:每分钟执行一次AGV回调处理 * cron表达式:0 * * * * ? 表示每分钟的第0秒执行 + * 配置说明:通过 scheduler.agv.enabled 控制是否启用 */ @Scheduled(cron = "0 * * * * ?") public void scheduleDOFeedback() { + // 检查定时任务开关 + if (!enabled) { + return; + } + log.info("=== 开始处理AGV回调相关业务 ==="); try { diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java b/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java index 6eabed1..ad38b76 100644 --- a/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/task/WcsTaskScheduler.java @@ -5,6 +5,7 @@ import com.gaotao.modules.automatedWarehouse.entity.WmsOrderTask; import com.gaotao.modules.automatedWarehouse.service.WcsTaskService; import lombok.extern.slf4j.Slf4j; 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; @@ -22,13 +23,22 @@ public class WcsTaskScheduler { @Autowired private WcsTaskService wcsTaskService; + + @Value("${scheduler.wcs.enabled:true}") + private boolean enabled; /** * 定时任务:每分钟执行一次WCS任务处理 * cron表达式:0 * * * * ? 表示每分钟的第0秒执行 + * 配置说明:通过 scheduler.wcs.enabled 控制是否启用 */ @Scheduled(cron = "0 * * * * ?") public void scheduleWcsTaskProcessing() { + // 检查定时任务开关 + if (!enabled) { + return; + } + log.info("=== 开始处理WCS入库/出库相关业务 ==="); try { @@ -70,9 +80,15 @@ public class WcsTaskScheduler { /** * 定时任务:每分钟执行一次立库调栈板出库处理 * cron表达式:0 * * * * ? 表示每分钟的第0秒执行 + * 配置说明:通过 scheduler.wcs.enabled 控制是否启用 */ @Scheduled(cron = "0 * * * * ?") public void scheduleWcsPalletOutTask() { + // 检查定时任务开关 + if (!enabled) { + return; + } + log.info("=== 开始处理立库调栈板出库任务 ==="); try { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index bfef679..351f77a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -128,3 +128,10 @@ wms: key-prefix: "wms:queue:" status-prefix: "wms:message:status:" status-expire: 86400 # 状态过期时间(秒) 24小时 + +# 定时任务开关配置 +scheduler: + agv: + enabled: true # AGV定时任务总开关(控制AgvTaskScheduler.java的所有定时任务) + wcs: + enabled: true # WCS定时任务总开关(控制WcsTaskScheduler.java的所有定时任务)