From 5f5cf5b1b4683a56fd0c85a0d89d14a4c0268cde Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期五, 07 七月 2023 17:08:49 +0800
Subject: [PATCH] 增加外联报警数据接收入库和引导就近光电 增加外联报警业务功能

---
 ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueManager.java |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueManager.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueManager.java
index f9b3861..1dbe0e4 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueManager.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/QueueManager.java
@@ -2,6 +2,8 @@
 
 import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
 import com.ruoyi.alarm.globalAlarm.domain.GuideTask;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.tomcat.util.threads.TaskThread;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@@ -10,6 +12,8 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.PriorityBlockingQueue;
+
+import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
 
 /**
  * @ClassName QueueManager
@@ -20,6 +24,7 @@
  */
 
 @Component
+@Slf4j(topic = "guideQueue")
 public class QueueManager {
 
     @Autowired
@@ -57,6 +62,12 @@
     public void addTaskToQueue(String cameraId, GuideTask task) {
         /*閫氳繃鐩告満ID鑾峰彇寮曞闃熷垪锛屽苟灏嗗紩瀵间换鍔″姞鍏ラ槦鍒�*/
         PriorityBlockingQueue<GuideTask> guideTaskQueue = GuidePriorityQueue.cameraQueueMap.get(cameraId);
+        if(StringUtils.isNull(guideTaskQueue))
+        {
+            log.info("鐩告満鏈櫥褰�,娌℃湁闃熷垪,鏃犳硶鍏ラ槦寮曞");
+            return;
+        }
+        log.debug("鏂颁换鍔″叆闃�:"+task.getAlarmId());
         guideTaskQueue.add(task);
         /*鑾峰彇璇ョ浉鏈虹殑褰撳墠鎵ц绾跨▼*/
         TaskThread currentTaskThread = threadMap.get(cameraId);
@@ -83,14 +94,15 @@
             while (!Thread.currentThread().isInterrupted()) {
                 try {
                     GuideTask task = queue.take();
+                    log.debug("鍙栧嚭闃熷垪鏁版嵁:"+task.getAlarmId());
                     taskExecutor.processTask(task);
-                    GuidePriorityQueue.printPriorityQueue();
                     // 鏇存柊绾跨▼鐨勫綋鍓嶄换鍔�
                     TaskThread currentTaskThread = threadMap.get(queueName);
                     if (currentTaskThread != null) {
                         currentTaskThread.setCurrentTask(task);
                     }
                 } catch (InterruptedException e) {
+                    log.info("涓柇褰撳墠绾跨▼");
                     //绾跨▼涓柇锛岄��鍑哄惊鐜�
                     Thread.currentThread().interrupt();
                 }

--
Gitblit v1.9.3