modify: json 解析优化

This commit is contained in:
2026-08-22 03:54:02 +08:00
parent c4a998084f
commit 7e4a3f66b3
+5 -5
View File
@@ -142,8 +142,7 @@ async def create_worker(
if not matched and methods: if not matched and methods:
matched = methods[0] # 降级到第一个 matched = methods[0] # 降级到第一个
if not matched: if not matched:
query.reply( query.reply_err(
key_expr=query.key_expr,
payload=json.dumps({"error": f"No method for {subject}"}).encode("utf-8") payload=json.dumps({"error": f"No method for {subject}"}).encode("utf-8")
) )
return return
@@ -169,7 +168,7 @@ async def create_worker(
logger.debug("[Worker] %s 回复 %s %s", worker_id, matched.method, subject) logger.debug("[Worker] %s 回复 %s %s", worker_id, matched.method, subject)
except Exception as e: except Exception as e:
if matched is not None and matched.stream: if matched is not None and matched.stream:
# 流式端点错误:以 {"error": ...} 收尾块结束流 # 流式端点错误:以 {"error": ...} 收尾块结束流(流式语义不变)
query.reply( query.reply(
key_expr=query.key_expr, key_expr=query.key_expr,
payload=orjson.dumps({"error": str(e)}) payload=orjson.dumps({"error": str(e)})
@@ -181,8 +180,9 @@ async def create_worker(
"error": str(e), "error": str(e),
"worker": worker_id "worker": worker_id
} }
query.reply( # 框架错误走 reply_err 通道:网关零解析判定失败(映射 503);
key_expr=query.key_expr, # 载荷保持原错误信封结构,旧网关仍按普通回复透传(兼容)
query.reply_err(
payload=json.dumps(error_response).encode("utf-8") payload=json.dumps(error_response).encode("utf-8")
) )
logger.error("[Worker] %s 异常 %s: %s", worker_id, subject, e) logger.error("[Worker] %s 异常 %s: %s", worker_id, subject, e)