|
|
|
@ -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 { |
|
|
|
|