#
luxiaotao1123
2024-12-24 c96f71b55d1cf81dc7119202b31678e0368087cb
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -35,7 +35,10 @@
@Component
public class KernelScheduler {
    public static int CORE_SCAN_FREQUENCY_MILLISECOND = 30;
    private static final int LOCK_TIMEOUT = 5;
    private final ReentrantLock lock = new ReentrantLock(Boolean.TRUE);
    private Thread trafficCalcThread;
@@ -108,7 +111,7 @@
        this.trafficCalcThread = new Thread(() -> {
            while (!Thread.currentThread().isInterrupted()) {
                try {
                    Thread.sleep(100);
                    Thread.sleep(CORE_SCAN_FREQUENCY_MILLISECOND);
                    List<Segment> segments = segmentService.list(new LambdaQueryWrapper<Segment>()
                            .eq(Segment::getState, SegmentStateType.WAITING.toString())
@@ -116,7 +119,12 @@
                    for (Segment segment : segments) {
                        long startTime = System.currentTimeMillis();
                        trafficService.trigger(segment);
                        log.info("traffic calculation spend {} ms", System.currentTimeMillis() - startTime);
                        long algoTime = System.currentTimeMillis() - startTime;
                        log.info("traffic calculation spend {} ms", algoTime);
                        if (segment.getState().equals(SegmentStateType.RUNNING.toString())) {
                            segment.setAlgoTime((int) algoTime);
                            segmentService.updateById(segment);
                        }
                    }
                } catch (Exception e) {
@@ -129,13 +137,11 @@
        this.actionPublicThread = new Thread(() -> {
            while (!Thread.currentThread().isInterrupted()) {
                try {
                    Thread.sleep(100);
                    Thread.sleep(CORE_SCAN_FREQUENCY_MILLISECOND);
                    List<String> actionGroupIds = actionService.selectPrepareGroup();
                    for (String actionGroupId : actionGroupIds) {
                        long startTime = System.currentTimeMillis();
                        mainService.publishAction(actionGroupId);
                        log.info("publish action calculation spend {} ms", System.currentTimeMillis() - startTime);
                    }
                } catch (Exception e) {