From af231cc8b7a86edce2dab4f5a9c3da9e87631ebb Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Mon, 24 Mar 2014 09:47:17 -0400 Subject: [PATCH] Resolve can_start from the client side and the signaler side --- awx/main/management/commands/run_task_system.py | 1 + awx/main/models/base.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/awx/main/management/commands/run_task_system.py b/awx/main/management/commands/run_task_system.py index fc69ef0323..c9211e1f4f 100644 --- a/awx/main/management/commands/run_task_system.py +++ b/awx/main/management/commands/run_task_system.py @@ -237,6 +237,7 @@ def process_graph(graph, task_capacity): if not start_status: node_obj.status = 'failed' node_obj.result_traceback += "Task failed pre-start check" + node_obj.save() # TODO: Run error handler continue remaining_volume -= impact diff --git a/awx/main/models/base.py b/awx/main/models/base.py index 3441a1ed9b..d4a700c388 100644 --- a/awx/main/models/base.py +++ b/awx/main/models/base.py @@ -370,7 +370,7 @@ class CommonTask(PrimordialModel): @property def can_start(self): - return bool(self.status == 'new') + return bool(self.status in ('new', 'waiting')) @property def task_impact(self): @@ -397,7 +397,7 @@ class CommonTask(PrimordialModel): def start(self, error_callback, **kwargs): task_class = self._get_task_class() - if not self.can_start: + if not self.status == 'waiting': return False needed = self._get_passwords_needed_to_start() try: