From 8aef941385b50b7cfd10a1442a7ea5c0e45469dc Mon Sep 17 00:00:00 2001 From: alpha-nerd-nomyo Date: Thu, 13 Nov 2025 10:13:10 +0100 Subject: [PATCH] stopping the token_worker_task gracefully on shutdown --- router.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/router.py b/router.py index 8a797de..7380926 100644 --- a/router.py +++ b/router.py @@ -37,12 +37,13 @@ _subscribers_lock = asyncio.Lock() token_queue: asyncio.Queue[tuple[str, str, int, int]] = asyncio.Queue() # ------------------------------------------------------------------ -# aiohttp Global Sessions +# Globals # ------------------------------------------------------------------ app_state = { "session": None, "connector": None, } +token_worker_task: asyncio.Task | None = None # ------------------------------------------------------------- # 1. Configuration loader @@ -1780,9 +1781,10 @@ async def startup_event() -> None: app_state["connector"] = connector app_state["session"] = session - asyncio.create_task(token_worker()) + token_worker_task = asyncio.create_task(token_worker()) @app.on_event("shutdown") async def shutdown_event() -> None: await close_all_sse_queues() await app_state["session"].close() + token_worker_task.cancel() \ No newline at end of file