diff --git a/data/tsp_assistant.db b/data/tsp_assistant.db index dcafc3c..8e10e57 100644 Binary files a/data/tsp_assistant.db and b/data/tsp_assistant.db differ diff --git a/src/integrations/feishu_longconn_service.py b/src/integrations/feishu_longconn_service.py index d05eeea..f3bb8e0 100644 --- a/src/integrations/feishu_longconn_service.py +++ b/src/integrations/feishu_longconn_service.py @@ -5,6 +5,7 @@ """ import logging import json +import threading from typing import Optional import lark_oapi as lark @@ -49,15 +50,21 @@ class FeishuLongConnService: logger.info("✅ 飞书长连接服务初始化完成") def _handle_message(self, data: P2ImMessageReceiveV1) -> None: + """收到消息事件,立即派发到后台线程处理,避免阻塞 SDK 事件循环""" + threading.Thread( + target=self._process_message, + args=(data,), + daemon=True + ).start() + + def _process_message(self, data: P2ImMessageReceiveV1) -> None: """ - 处理接收到的消息事件 + 在后台线程中处理消息 Args: data: 飞书消息事件数据 """ - logger.info("=" * 80) logger.info("📨 收到飞书消息事件!") - logger.info("=" * 80) try: # 提取消息信息 @@ -205,9 +212,7 @@ class FeishuLongConnService: # 发送回复 self._reply_message(message_id, reply_text) - logger.info("=" * 80) logger.info("✅ 消息处理完成") - logger.info("=" * 80) except Exception as e: logger.error(f"❌ 处理消息时发生错误: {e}", exc_info=True)