From cf629f81fe4bf963c68f863edc966c7e0bcd735b Mon Sep 17 00:00:00 2001 From: Ashwin Bharambe Date: Tue, 22 Jul 2025 16:20:52 -0700 Subject: [PATCH] cancel refresh task on shutdown --- llama_stack/distribution/routing_tables/models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/llama_stack/distribution/routing_tables/models.py b/llama_stack/distribution/routing_tables/models.py index 437db0176..1454bf45f 100644 --- a/llama_stack/distribution/routing_tables/models.py +++ b/llama_stack/distribution/routing_tables/models.py @@ -22,10 +22,12 @@ logger = get_logger(name=__name__, category="core") class ModelsRoutingTable(CommonRoutingTableImpl, Models): listed_providers: set[str] = set() model_refresh_interval_seconds: int = 300 + _refresh_task: asyncio.Task | None = None async def initialize(self) -> None: await super().initialize() task = asyncio.create_task(self._refresh_models()) + self._refresh_task = task def cb(task): import traceback @@ -40,6 +42,12 @@ class ModelsRoutingTable(CommonRoutingTableImpl, Models): task.add_done_callback(cb) + async def shutdown(self) -> None: + await super().shutdown() + if self._refresh_task: + self._refresh_task.cancel() + self._refresh_task = None + async def _refresh_models(self) -> None: while True: for provider_id, provider in self.impls_by_provider_id.items():