fix(server): iterate provider instances during shutdown
Problem: cleanup_providers() loops over dict.items(), so the loop variable is a (ProviderType, ModelProvider) tuple and close() never runs. Impact: Providers like DIAL keep httpx clients open, leaking sockets and emitting unclosed-client warnings on shutdown. Solution: Iterate registry._initialized_providers.values() so we close real provider instances and release network resources.
This commit is contained in:
@@ -572,7 +572,8 @@ def configure_providers():
|
||||
try:
|
||||
registry = ModelProviderRegistry()
|
||||
if hasattr(registry, "_initialized_providers"):
|
||||
for provider in list(registry._initialized_providers.items()):
|
||||
# Iterate over provider instances (values), not (type, instance) tuples
|
||||
for provider in list(registry._initialized_providers.values()):
|
||||
try:
|
||||
if provider and hasattr(provider, "close"):
|
||||
provider.close()
|
||||
|
||||
Reference in New Issue
Block a user