From 914c5c43f996679adcab4a5d848bb8ebb64a4929 Mon Sep 17 00:00:00 2001 From: Youen Date: Mon, 5 Feb 2024 21:40:14 +0100 Subject: [PATCH] Fixed issue where task resources were not freed in case of error during the task --- src/web_utils/task.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/web_utils/task.py b/src/web_utils/task.py index 7212429..eeeef35 100644 --- a/src/web_utils/task.py +++ b/src/web_utils/task.py @@ -143,11 +143,13 @@ class Task: self.__thread.start() def __run(self): - self.run() - print('Task ' + self.task_id + ' has finished') - self.__finished_at = datetime.now() - Task.__free_resources(self) - Task.__update_pending_tasks() + try: + self.run() + print('Task ' + self.task_id + ' has finished') + self.__finished_at = datetime.now() + finally: + Task.__free_resources(self) + Task.__update_pending_tasks() @staticmethod def get(task_id):