From 70930071a49190f414c8d8bc9c9e9795a4096739 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 23 三月 2026 16:08:27 +0800
Subject: [PATCH] Merge branch 'refs/heads/rcs_master' into jdxaj
---
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java | 24 +++++++++++++++++-------
1 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
index b7b2080..7224c27 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -21,6 +21,7 @@
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.support.TransactionTemplate;
import javax.annotation.PreDestroy;
import java.util.ArrayList;
@@ -48,6 +49,8 @@
private Thread actionPublicThread;
@Autowired
+ private TransactionTemplate txTemplate;
+ @Autowired
private AgvService agvService;
@Autowired
private BusService busService;
@@ -68,13 +71,13 @@
@Autowired
private LocService locService;
@Autowired
- private AgvModelService agvModelService;
+ private TravelService travelService;
@Autowired
private TransferStationHandler transferStationHandler;
@Scheduled(cron = "0/1 * * * * ? ")
private void startupBus() throws InterruptedException {
-// if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; }
+ if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; }
if (!this.lock.tryLock(LOCK_TIMEOUT, TimeUnit.SECONDS)) { return; }
List<Bus> busList = busService.selectInSts(BusStsType.RECEIVE, BusStsType.PROGRESS);
for (Bus bus : busList) {
@@ -85,6 +88,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
private void calculateSeg() throws InterruptedException {
+ if (!configService.getVal("TaskAssignMode", Boolean.class)) { return; }
if (!this.lock.tryLock(LOCK_TIMEOUT, TimeUnit.SECONDS)) { return; }
List<Task> taskList = taskService.selectBySts(TaskStsType.WAITING);
@@ -119,13 +123,19 @@
.eq(Segment::getState, SegmentStateType.WAITING.toString())
);
for (Segment segment : segments) {
-// long startTime = System.currentTimeMillis();
- if (!transferStationHandler.isSegDelayAtSta(segment)) {
- trafficService.trigger(segment);
+ if (transferStationHandler.hasDelayAtSta(segment)) {
+ continue;
+ } else {
+ travelService.clearRollerWaiting(segment.getTravelId());
}
-// log.info("traffic calculation spend {} ms", System.currentTimeMillis() - startTime);
+ try {
+ txTemplate.executeWithoutResult(status -> {
+ trafficService.trigger(segment);
+ });
+ } catch (Exception e) {
+ log.error("trigger fail segId={}", segment.getId(), e);
+ }
}
-
} catch (Exception e) {
log.error("KernelScheduler.trafficCalcThread fail", e);
}
--
Gitblit v1.9.1