From 96e8e366f5f0917a7c4b2dfba61aa30ded6491b9 Mon Sep 17 00:00:00 2001 From: chakcy <947105045@qq.com> Date: Mon, 3 Aug 2026 17:43:07 +0800 Subject: [PATCH] =?UTF-8?q?modify:=20mqtt=E6=97=A5=E5=BF=97=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aibox_sophon_adapter/__init__.py | 5 ++++- aibox_sophon_adapter/mqtt_forward.py | 1 + aibox_sophon_adapter/router/board_ping.py | 6 +++++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/aibox_sophon_adapter/__init__.py b/aibox_sophon_adapter/__init__.py index 783dd26..081c0b4 100644 --- a/aibox_sophon_adapter/__init__.py +++ b/aibox_sophon_adapter/__init__.py @@ -130,14 +130,17 @@ async def create_workers(session, config, count=1, worker_manager=None): from .mqtt_forward import MQTTForwardClient mqtt_fwd_uri = mqtt_fwd.get("uri", "") mqtt_fwd_topic = mqtt_fwd.get("topic", "/board_ping") + logger.warning(f"[MQTTForward] 配置已加载: enabled={mqtt_fwd_enabled}, uri={mqtt_fwd_uri}, topic={mqtt_fwd_topic}") if mqtt_fwd_uri: mqtt_fwd_client = MQTTForwardClient(uri=mqtt_fwd_uri, topic=mqtt_fwd_topic) try: await mqtt_fwd_client.start() - logger.info(f"[MQTTForward] 外部转发已启用: {mqtt_fwd_uri} → {mqtt_fwd_topic}") + logger.warning(f"[MQTTForward] 外部转发已启用: {mqtt_fwd_uri} → {mqtt_fwd_topic}") except Exception as e: logger.warning(f"[MQTTForward] 启动失败,将跳过转发: {e}") mqtt_fwd_client = None + else: + logger.warning(f"[MQTTForward] mqtt_forward 未启用,配置内容: {mqtt_fwd}") set_global_var("db", db) set_global_var("heartbeat_timeout", hb_timeout) diff --git a/aibox_sophon_adapter/mqtt_forward.py b/aibox_sophon_adapter/mqtt_forward.py index 6765de0..509e131 100644 --- a/aibox_sophon_adapter/mqtt_forward.py +++ b/aibox_sophon_adapter/mqtt_forward.py @@ -55,6 +55,7 @@ class MQTTForwardClient: "reconnect_retries": -1, # 无限重连 "reconnect_max_interval": 30, # 最大重连间隔(秒) "keep_alive": 60, + "connection_timeout": 10, # 连接超时(秒),避免永久挂起 } ) # 手动初始化 session 并设置解码后的凭据(绕过 amqtt urlparse 不解码 %40 的问题) diff --git a/aibox_sophon_adapter/router/board_ping.py b/aibox_sophon_adapter/router/board_ping.py index 6ef60cb..c9ade1a 100644 --- a/aibox_sophon_adapter/router/board_ping.py +++ b/aibox_sophon_adapter/router/board_ping.py @@ -95,7 +95,11 @@ async def board_ping(request: BoardPingRequest, worker_id: str = "") -> dict: # 转发心跳数据到外部 MQTT Broker if mqtt_forward is not None: - await mqtt_forward.publish(ping_data) + success = await mqtt_forward.publish(ping_data) + if not success: + logger.warning("[MQTTForward] 心跳转发失败") + else: + logger.warning("[MQTTForward] mqtt_forward 客户端为 None,跳过转发") logger.debug( f"[Heartbeat] {board_id}: temp={request.BoardTemp}, "