fix: ignore missing nacos catalog entries

This commit is contained in:
ZuoZuo 2026-04-22 01:42:03 +08:00
parent e54bf80e5a
commit 07df198822

View File

@ -330,19 +330,26 @@ def list_instances(namespace_id: str, service_name: str, group_name: str) -> lis
def catalog_instances(namespace_id: str, service_name: str, group_name: str) -> list[dict[str, Any]]: def catalog_instances(namespace_id: str, service_name: str, group_name: str) -> list[dict[str, Any]]:
# 调用 catalog/instances 获取注册表视图。 try:
payload = nacos_request( # 调用 catalog/instances 获取注册表视图。
"GET", payload = nacos_request(
"/nacos/v1/ns/catalog/instances", "GET",
{ "/nacos/v1/ns/catalog/instances",
"serviceName": service_name, {
"groupName": group_name, "serviceName": service_name,
"namespaceId": namespace_id or None, "groupName": group_name,
"clusterName": NACOS_DISCOVERY_CLUSTER_NAME, "namespaceId": namespace_id or None,
"pageNo": "1", "clusterName": NACOS_DISCOVERY_CLUSTER_NAME,
"pageSize": str(max(NACOS_PAGE_SIZE, 200)), "pageNo": "1",
}, "pageSize": str(max(NACOS_PAGE_SIZE, 200)),
) },
)
except RuntimeError as exc:
# 服务不存在时按空列表处理,不让单服务失败拖垮整块 Nacos 面板。
message = str(exc).lower()
if "is not found" in message or "service " in message and "not found" in message:
return []
raise
# 返回 list 字段。 # 返回 list 字段。
return list(payload.get("list") or []) return list(payload.get("list") or [])