modify: 接口转发
This commit is contained in:
@@ -56,12 +56,12 @@ async def edge_app_controller(payload: dict, topic: str) -> dict | None:
|
||||
)
|
||||
|
||||
if command is None:
|
||||
return _reply(-1, "缺少 command 字段")
|
||||
return None
|
||||
|
||||
handler = _COMMANDS.get(str(command))
|
||||
if handler is None:
|
||||
logger.warning(f"[EdgeAppController] 未知命令: {command}")
|
||||
return _reply(-2, f"未知命令: {command}")
|
||||
return None
|
||||
|
||||
try:
|
||||
data = await handler(payload)
|
||||
@@ -73,7 +73,7 @@ async def edge_app_controller(payload: dict, topic: str) -> dict | None:
|
||||
return data
|
||||
except Exception as e:
|
||||
logger.error(f"[EdgeAppController] 命令 {command} 执行失败: {e}")
|
||||
return _reply(-3, f"命令执行异常: {e}")
|
||||
return None
|
||||
|
||||
|
||||
# ============================================================
|
||||
@@ -124,15 +124,15 @@ async def _cmd_alg_media_fetch(payload: dict) -> dict | None:
|
||||
|
||||
board_id = payload.get("BoardId")
|
||||
if not board_id:
|
||||
return _reply(-4, "缺少 BoardId 参数")
|
||||
return None
|
||||
|
||||
print(f"[alg_media_fetch]Processing for board: {board_id}")
|
||||
print(f"[alg_media_fetch]Expected payload: {payload}")
|
||||
|
||||
if db is None:
|
||||
return _reply(-5, "数据库未初始化")
|
||||
return None
|
||||
if internal_mqtt is None:
|
||||
return _reply(-5, "internal_mqtt 未初始化")
|
||||
return None
|
||||
|
||||
async with db.get_session() as session:
|
||||
from .models.orm import BoardHeartbeat
|
||||
@@ -144,7 +144,7 @@ async def _cmd_alg_media_fetch(payload: dict) -> dict | None:
|
||||
|
||||
if record is None:
|
||||
print(f"[alg_media_fetch]Board {board_id} not found in database.")
|
||||
return _reply(-4, f"设备 {board_id} 不在数据库中")
|
||||
return None
|
||||
|
||||
# 内部请求-响应主题由 [workers.config.internal_mqtt] 配置,与盒子侧约定一致
|
||||
# (盒子只设根主题 box,子路径固定 aibox_sophon/...,回复主题固定为 ..._reply)。
|
||||
@@ -161,7 +161,7 @@ async def _cmd_alg_media_fetch(payload: dict) -> dict | None:
|
||||
print(f"[alg_media_fetch]Response from internal_mqtt: {resp}")
|
||||
|
||||
if resp is None:
|
||||
return _reply(-5, "获取算法媒体信息失败(内部请求无响应)")
|
||||
return None
|
||||
return resp
|
||||
|
||||
async def _cmd_alg_task_fetch(payload: dict) -> dict | None:
|
||||
@@ -180,15 +180,15 @@ async def _cmd_alg_task_fetch(payload: dict) -> dict | None:
|
||||
|
||||
board_id = payload.get("BoardId")
|
||||
if not board_id:
|
||||
return _reply(-4, "缺少 BoardId 参数")
|
||||
return None
|
||||
|
||||
print(f"[alg_task_fetch]Processing for board: {board_id}")
|
||||
print(f"[alg_task_fetch]Expected payload: {payload}")
|
||||
|
||||
if db is None:
|
||||
return _reply(-5, "数据库未初始化")
|
||||
return None
|
||||
if internal_mqtt is None:
|
||||
return _reply(-5, "internal_mqtt 未初始化")
|
||||
return None
|
||||
|
||||
async with db.get_session() as session:
|
||||
from .models.orm import BoardHeartbeat
|
||||
@@ -200,7 +200,7 @@ async def _cmd_alg_task_fetch(payload: dict) -> dict | None:
|
||||
|
||||
if record is None:
|
||||
print(f"[alg_task_fetch]Board {board_id} not found in database.")
|
||||
return _reply(-4, f"设备 {board_id} 不在数据库中")
|
||||
return None
|
||||
|
||||
|
||||
resp = await internal_mqtt.request(
|
||||
|
||||
Reference in New Issue
Block a user