diff --git a/moonraker/moonraker.py b/moonraker/moonraker.py index 01a0a1e..b045865 100755 --- a/moonraker/moonraker.py +++ b/moonraker/moonraker.py @@ -480,14 +480,18 @@ class Server: async def _stop_server(self, exit_reason="restart"): self.server_running = False - for name, plugin in self.plugins.items(): - if hasattr(plugin, "close"): + for method in ["on_exit", "close"]: + for name, plugin in self.plugins.items(): + if not hasattr(plugin, method): + continue + func = getattr(plugin, method) try: - ret = plugin.close() + ret = func() if asyncio.iscoroutine(ret): await ret except Exception: - logging.exception(f"Error closing plugin: {name}") + logging.exception( + f"Error executing '{method}()' for plugin: {name}") try: if self.klippy_connection.is_connected(): self.klippy_disconnect_evt = Event()