From 1d702103f148b0739f1e75e12b603efbdec1d50c Mon Sep 17 00:00:00 2001 From: AskaEth Date: Sun, 26 Jul 2026 18:28:45 +0800 Subject: [PATCH] fix: suppress WebSocket keepalive timeout tracebacks from stderr --- app.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app.py b/app.py index b8d5353..221fe69 100644 --- a/app.py +++ b/app.py @@ -27,6 +27,19 @@ os.makedirs(BASE_DIR / "logs", exist_ok=True) @asynccontextmanager async def lifespan(app: FastAPI): + import asyncio + import warnings + from websockets.exceptions import ConnectionClosedError + + def _handle_async_exception(loop, ctx): + exc = ctx.get("exception") + if isinstance(exc, ConnectionClosedError): + return + loop.default_exception_handler(ctx) + + asyncio.get_event_loop().set_exception_handler(_handle_async_exception) + warnings.filterwarnings("ignore", message=".*ping timeout.*") + logger.info("=" * 50) logger.info(" TurboSu - Racing Telemetry Dashboard") logger.info("=" * 50)