From: Marcel van der Veldt Date: Mon, 4 Dec 2023 08:37:20 +0000 (+0100) Subject: Fix graceful shutdown when provider errors on unload X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=e3831825f1ef28475ba6cfe903be4b42ab32ebf8;p=music-assistant-server.git Fix graceful shutdown when provider errors on unload --- diff --git a/music_assistant/server/server.py b/music_assistant/server/server.py index e6b8c7d4..9af1238f 100644 --- a/music_assistant/server/server.py +++ b/music_assistant/server/server.py @@ -429,9 +429,13 @@ class MusicAssistant: for dep_prov in self.providers: if dep_prov.manifest.depends_on == provider.domain: await self.unload_provider(dep_prov.instance_id) - await provider.unload() - self._providers.pop(instance_id, None) - self.signal_event(EventType.PROVIDERS_UPDATED, data=self.get_providers()) + try: + await provider.unload() + except Exception as err: + LOGGER.warning("Error while unload provider %s: %s", provider.name, str(err)) + finally: + self._providers.pop(instance_id, None) + self.signal_event(EventType.PROVIDERS_UPDATED, data=self.get_providers()) def _register_api_commands(self) -> None: """Register all methods decorated as api_command within a class(instance)."""