From e48af78b7641614bdc9ace5e9738d52a8e19d155 Mon Sep 17 00:00:00 2001 From: Nathan Weinberg <31703736+nathan-weinberg@users.noreply.github.com> Date: Mon, 17 Mar 2025 17:55:40 -0400 Subject: [PATCH] fix: add shutdown method for ProviderImpl (#1670) # What does this PR do? Currently there is no shutdown method implemented for the `ProviderImpl` class This leads to the following warning ```shell INFO: Waiting for application shutdown. INFO 2025-03-17 17:25:13,280 __main__:145 server: Shutting down INFO 2025-03-17 17:25:13,282 __main__:129 server: Shutting down ModelsRoutingTable INFO 2025-03-17 17:25:13,284 __main__:129 server: Shutting down DatasetsRoutingTable INFO 2025-03-17 17:25:13,286 __main__:129 server: Shutting down DatasetIORouter INFO 2025-03-17 17:25:13,287 __main__:129 server: Shutting down TelemetryAdapter INFO 2025-03-17 17:25:13,288 __main__:129 server: Shutting down InferenceRouter INFO 2025-03-17 17:25:13,290 __main__:129 server: Shutting down ShieldsRoutingTable INFO 2025-03-17 17:25:13,291 __main__:129 server: Shutting down SafetyRouter INFO 2025-03-17 17:25:13,292 __main__:129 server: Shutting down VectorDBsRoutingTable INFO 2025-03-17 17:25:13,293 __main__:129 server: Shutting down VectorIORouter INFO 2025-03-17 17:25:13,294 __main__:129 server: Shutting down ToolGroupsRoutingTable INFO 2025-03-17 17:25:13,295 __main__:129 server: Shutting down ToolRuntimeRouter INFO 2025-03-17 17:25:13,296 __main__:129 server: Shutting down MetaReferenceAgentsImpl INFO 2025-03-17 17:25:13,297 __main__:129 server: Shutting down ScoringFunctionsRoutingTable INFO 2025-03-17 17:25:13,298 __main__:129 server: Shutting down ScoringRouter INFO 2025-03-17 17:25:13,299 __main__:129 server: Shutting down BenchmarksRoutingTable INFO 2025-03-17 17:25:13,300 __main__:129 server: Shutting down EvalRouter INFO 2025-03-17 17:25:13,301 __main__:129 server: Shutting down DistributionInspectImpl INFO 2025-03-17 17:25:13,303 __main__:129 server: Shutting down ProviderImpl WARNING 2025-03-17 17:25:13,304 __main__:134 server: No shutdown method for ProviderImpl INFO: Application shutdown complete. INFO: Finished server process [1] ``` ## Test Plan Start a server and shut it down Signed-off-by: Nathan Weinberg --- llama_stack/distribution/providers.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/llama_stack/distribution/providers.py b/llama_stack/distribution/providers.py index fb2476767..cf9b0b975 100644 --- a/llama_stack/distribution/providers.py +++ b/llama_stack/distribution/providers.py @@ -8,10 +8,13 @@ from pydantic import BaseModel from llama_stack.apis.providers import ListProvidersResponse, ProviderInfo, Providers +from llama_stack.log import get_logger from .datatypes import StackRunConfig from .stack import redact_sensitive_fields +logger = get_logger(name=__name__, category="core") + class ProviderImplConfig(BaseModel): run_config: StackRunConfig @@ -31,6 +34,10 @@ class ProviderImpl(Providers): async def initialize(self) -> None: pass + async def shutdown(self) -> None: + logger.debug("ProviderImpl.shutdown") + pass + async def list_providers(self) -> ListProvidersResponse: run_config = self.config.run_config safe_config = StackRunConfig(**redact_sensitive_fields(run_config.model_dump()))