Pārlūkot izejas kodu

消息异常机制

rambo 3 mēneši atpakaļ
vecāks
revīzija
3b6b3aeeb3
1 mainītis faili ar 7 papildinājumiem un 3 dzēšanām
  1. 7 3
      python/mcu/capture/smart_shooter_class.py

+ 7 - 3
python/mcu/capture/smart_shooter_class.py

@@ -486,9 +486,13 @@ class SmartShooter(metaclass=SingletonType):
         sub_socket, context = self.__create_listen()
         sub_socket, context = self.__create_listen()
         print("构建监听", self.connect_status)
         print("构建监听", self.connect_status)
         logger.info("构建监听,%s", self.connect_status)
         logger.info("构建监听,%s", self.connect_status)
-        # 创建并保存事件循环引用
-        self.listen_loop = asyncio.new_event_loop()
-        asyncio.set_event_loop(self.listen_loop)
+        try:
+            # 尝试获取当前线程的事件循环
+            self.listen_loop = asyncio.get_event_loop()
+        except RuntimeError:
+            # 如果当前线程没有事件循环,则创建一个新的
+            self.listen_loop = asyncio.new_event_loop()
+            asyncio.set_event_loop(self.listen_loop)
         while True:
         while True:
             self.listen_init = True
             self.listen_init = True
             if self.callback_listen == None:
             if self.callback_listen == None: