fix: avoid duplicate nacos fallback namespaces
This commit is contained in:
parent
07df198822
commit
ebbadb2ea8
@ -424,6 +424,8 @@ def build_nacos_payload() -> dict[str, Any]:
|
|||||||
raw_services = list_services(namespace["namespaceId"])
|
raw_services = list_services(namespace["namespaceId"])
|
||||||
# 这里保存当前 namespace 下所有待查询服务。
|
# 这里保存当前 namespace 下所有待查询服务。
|
||||||
queries_by_key: dict[tuple[str, str], dict[str, str]] = {}
|
queries_by_key: dict[tuple[str, str], dict[str, str]] = {}
|
||||||
|
# 只在可见 namespace,或者根本没有可见 namespace 时,才补 fallback 查询。
|
||||||
|
allow_fallback_queries = namespace["visible"] or not any(item["visible"] for item in normalized_namespaces)
|
||||||
|
|
||||||
# 先收 service/list 返回的服务。
|
# 先收 service/list 返回的服务。
|
||||||
for raw_name in raw_services:
|
for raw_name in raw_services:
|
||||||
@ -438,11 +440,12 @@ def build_nacos_payload() -> dict[str, Any]:
|
|||||||
}
|
}
|
||||||
|
|
||||||
# 再补上 targets.json 里已知的注册服务,避免 service/list 返回空时整页丢数据。
|
# 再补上 targets.json 里已知的注册服务,避免 service/list 返回空时整页丢数据。
|
||||||
for item in monitored_service_queries():
|
if allow_fallback_queries:
|
||||||
queries_by_key.setdefault(
|
for item in monitored_service_queries():
|
||||||
(item["groupName"], item["registryName"]),
|
queries_by_key.setdefault(
|
||||||
item,
|
(item["groupName"], item["registryName"]),
|
||||||
)
|
item,
|
||||||
|
)
|
||||||
|
|
||||||
# 逐个服务拉实例详情。
|
# 逐个服务拉实例详情。
|
||||||
for query in queries_by_key.values():
|
for query in queries_by_key.values():
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user