From 88bf03c6bf766a666245ae397a2a847b99e7722e Mon Sep 17 00:00:00 2001 From: Alan Rominger Date: Fri, 19 Aug 2022 16:07:31 -0400 Subject: [PATCH] Check exit conditions in loop waiting for project flock --- awx/main/tasks/jobs.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/awx/main/tasks/jobs.py b/awx/main/tasks/jobs.py index 420f171e22..5cf6583f12 100644 --- a/awx/main/tasks/jobs.py +++ b/awx/main/tasks/jobs.py @@ -402,6 +402,10 @@ class BaseTask(object): raise else: time.sleep(1.0) + self.instance.refresh_from_db(fields=['cancel_flag']) + if self.instance.cancel_flag or signal_callback(): + logger.debug(f"Unified job {self.instance.id} was canceled while waiting for project file lock") + return waiting_time = time.time() - start_time if waiting_time > 1.0: @@ -1294,10 +1298,6 @@ class RunProjectUpdate(BaseTask): # re-create root project folder if a natural disaster has destroyed it project_path = instance.project.get_project_path(check_if_exists=False) - instance.refresh_from_db(fields=['cancel_flag']) - if instance.cancel_flag: - logger.debug("ProjectUpdate({0}) was canceled".format(instance.pk)) - return if instance.launch_type != 'sync': self.acquire_lock(instance.project, instance.id)