diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py index 9503509e5a04fbfdd28001b8097edd399f93d02f..a2e8b59d227aee79d23e8096040dfd143dfb0549 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')