From fe38aeca013d49bb943566ddec86728e22ddb8de Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Thu, 31 Mar 2016 14:28:08 +0000 Subject: [PATCH] Task #8887: check claim status before setting task to scheduled/conflict --- SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py index 9503509e5a0..a2e8b59d227 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py +++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py @@ -148,10 +148,14 @@ class ResourceAssigner(): main_needed = needed[str(otdb_id)] if self.checkResources(main_needed, available): task = self.radbrpc.getTask(taskId) - claimed, resourceIds = self.claimResources(main_needed, task) + claimed, claim_ids = self.claimResources(main_needed, task) if claimed: self.radbrpc.updateTaskAndResourceClaims(taskId, claim_status='allocated') - self.radbrpc.updateTask(taskId, status='scheduled') + claims = self.radbrpc.getResourceClaims(task_id=taskId) + if len(claim_ids) == len([x for x in claims if x['status'] == 'allocated'): + self.radbrpc.updateTask(taskId, status='scheduled') + else: + self.radbrpc.updateTask(taskId, status='conflict') else: self.radbrpc.updateTask(taskId, status='conflict') -- GitLab