From f39d32a6e5eeea6da85d15c2a0e7a1e66c2acf79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Diot?= Date: Tue, 5 Nov 2024 16:44:38 +0100 Subject: [PATCH] Run plugin download jobs in parallel for improved performance --- src/scheduler/main.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/scheduler/main.py b/src/scheduler/main.py index a298142b2..9ae7459c4 100644 --- a/src/scheduler/main.py +++ b/src/scheduler/main.py @@ -739,10 +739,19 @@ if __name__ == "__main__": LOGGER.info("Running plugins download jobs ...") - if not SCHEDULER.run_single("download-plugins"): - LOGGER.warning("download-plugins job failed at first start, plugins settings set by the user may not be up to date ...") - if not SCHEDULER.run_single("download-pro-plugins"): - LOGGER.warning("download-pro-plugins job failed at first start, pro plugins settings set by the user may not be up to date ...") + threads.clear() + threads.extend( + [ + Thread(target=SCHEDULER.run_single, args=("download-plugins",)), + Thread(target=SCHEDULER.run_single, args=("download-pro-plugins",)), + ] + ) + + for thread in threads: + thread.start() + + for thread in threads: + thread.join() db_metadata = SCHEDULER.db.get_metadata() if db_metadata["pro_plugins_changed"] or db_metadata["external_plugins_changed"]: