fix: исправлен вызов /ping через binary_resource API

This commit is contained in:
2026-05-16 15:17:57 +07:00
parent 48bfaab853
commit eefd5a66e3
-23
View File
@@ -96,7 +96,6 @@ def fetch_address_list(api) -> list[str]:
def mikrotik_ping(api, address: str) -> Optional[float]: def mikrotik_ping(api, address: str) -> Optional[float]:
""" """
Возвращает avg-rtt (мс) или None если хост недоступен. Возвращает avg-rtt (мс) или None если хост недоступен.
<<<<<<< HEAD
RouterOS API: /ping — это команда, вызывается через get_binary_resource. RouterOS API: /ping — это команда, вызывается через get_binary_resource.
""" """
try: try:
@@ -125,28 +124,6 @@ def mikrotik_ping(api, address: str) -> Optional[float]:
return sum(rtts) / len(rtts) return sum(rtts) / len(rtts)
return None return None
=======
"""
try:
ping_resource = api.get_resource("/ping")
results = ping_resource.call(
"",
{
"address": address,
"count": str(PING_COUNT),
"timeout": str(PING_TIMEOUT_MS),
},
)
for row in results:
if "avg-rtt" in row and row.get("avg-rtt"):
try:
return float(row["avg-rtt"].replace("ms", "").strip())
except ValueError:
pass
if row.get("packet-loss") == "100":
return None
return None
>>>>>>> 994b95f3e9aa67ddf108ce11904cd69f3d736ab8
except Exception as exc: except Exception as exc:
log.warning("Ошибка пинга %s: %s", address, exc) log.warning("Ошибка пинга %s: %s", address, exc)
return None return None