From c96f71b55d1cf81dc7119202b31678e0368087cb Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 24 十二月 2024 11:04:54 +0800
Subject: [PATCH] #

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 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 7da812d..817151f 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
@@ -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) {

--
Gitblit v1.9.1