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}, "