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):