From 8e51e70c827c4589d8116122830fb44f5a49158a Mon Sep 17 00:00:00 2001 From: Bjarke Madsen <bjarke@nordu.net> Date: Mon, 4 Nov 2024 11:49:50 +0100 Subject: [PATCH] ensure process executors are always shutdown --- brian_dashboard_manager/templating/helpers.py | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py index 01d1528..0996d07 100644 --- a/brian_dashboard_manager/templating/helpers.py +++ b/brian_dashboard_manager/templating/helpers.py @@ -977,16 +977,19 @@ def get_dashboard_data( """ with ProcessPoolExecutor(max_workers=NUM_PROCESSES) as executor: - for dash in executor.map( - partial( - get_dashboard_data_single, - datasource=datasource, - tag=tag, - panel_generator=panel_generator, - errors=errors), - data.items() - ): - yield dash + try: + for dash in executor.map( + partial( + get_dashboard_data_single, + datasource=datasource, + tag=tag, + panel_generator=panel_generator, + errors=errors), + data.items() + ): + yield dash + finally: + executor.shutdown(wait=False, cancel_futures=True) def create_aggregate_panel(title, gridpos, targets, datasource): -- GitLab