瀏覽代碼

消息异常机制

rambo 3 月之前
父節點
當前提交
3b6b3aeeb3
共有 1 個文件被更改,包括 7 次插入3 次删除
  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()
         print("构建监听", 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:
             self.listen_init = True
             if self.callback_listen == None: