From 2c4edeb810d740abfacc0dbded7626f9323ade77 Mon Sep 17 00:00:00 2001 From: AAGaming Date: Wed, 3 Jul 2024 20:08:30 -0400 Subject: implement a shutdown routine instead of just waiting for all plugins to stop on their own --- backend/decky_loader/loader.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'backend/decky_loader/loader.py') diff --git a/backend/decky_loader/loader.py b/backend/decky_loader/loader.py index e8a073a9..e7abb889 100644 --- a/backend/decky_loader/loader.py +++ b/backend/decky_loader/loader.py @@ -1,5 +1,5 @@ from __future__ import annotations -from asyncio import AbstractEventLoop, Queue, sleep +from asyncio import AbstractEventLoop, Queue, gather, sleep from logging import getLogger from os import listdir, path from pathlib import Path @@ -98,6 +98,9 @@ class Loader: server_instance.ws.add_route("loader/call_plugin_method", self.handle_plugin_method_call) server_instance.ws.add_route("loader/call_legacy_plugin_method", self.handle_plugin_method_call_legacy) + async def shutdown_plugins(self): + await gather(*[self.plugins[plugin_name].stop() for plugin_name in self.plugins]) + async def enable_reload_wait(self): if self.live_reload: await sleep(10) -- cgit v1.2.3