From 94d96324bf003eb57e0d3f288c01dc253b22a4c3 Mon Sep 17 00:00:00 2001 From: Giulio Eulisse <10544+ktf@users.noreply.github.com> Date: Tue, 26 May 2026 18:04:01 +0200 Subject: [PATCH] Allow retries --- .../scripts/hyperloop-perf-server/perf_mcp_server.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Framework/Core/scripts/hyperloop-perf-server/perf_mcp_server.py b/Framework/Core/scripts/hyperloop-perf-server/perf_mcp_server.py index b0e51fc270a40..cce2d31bf00e3 100644 --- a/Framework/Core/scripts/hyperloop-perf-server/perf_mcp_server.py +++ b/Framework/Core/scripts/hyperloop-perf-server/perf_mcp_server.py @@ -197,8 +197,14 @@ async def load_profile(url: str, name: str = "", token: str = "", proxy_token: s headers["Accept-Encoding"] = "identity" async with httpx.AsyncClient(verify=False) as client: - r = await client.get(fetch_url, headers=headers, timeout=120.0, follow_redirects=True) - r.raise_for_status() + for attempt in range(3): + try: + r = await client.get(fetch_url, headers=headers, timeout=300.0, follow_redirects=True) + r.raise_for_status() + break + except (httpx.RemoteProtocolError, httpx.ReadError) as exc: + if attempt == 2: + raise text = r.content.decode("utf-8", errors="replace") profile = await asyncio.get_event_loop().run_in_executor(None, _parse, text)