diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py index df3223863754e5f36bc2696ecbeda55d0ac8766b..a06c969cf61b41bd5655e1c3a56c3abf9337a149 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py +++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py @@ -390,6 +390,9 @@ class ResourceAssigner(): predecessor_task['mom_id'], predecessor_task['otdb_id'], task['mom_id'], task['otdb_id']) self.radbrpc.insertTaskPredecessor(task['id'], predecessor_task['id']) else: + # Occurs when setting a pipeline to prescheduled while a predecessor has e.g. never been beyond approved, + # which is in principle valid. The link in the radb will be made later via processSuccessors() below. + # Alternatively, a predecessor could have been deleted. logger.warning('could not find predecessor task with mom_id=%s in radb for task otdb_id=%s', predecessor_mom_id, task['otdb_id']) @@ -414,6 +417,9 @@ class ResourceAssigner(): self.radbrpc.insertTaskPredecessor(successor_task['id'], task['id']) movePipelineAfterItsPredecessors(successor_task, self.radbrpc) else: + # Occurs when settings a obs or task to prescheduled while a successor has e.g. not yet been beyond approved, + # which is quite normal. The link in the radb will be made later via processPredecessors() above. + # Alternatively, a successor could have been deleted. logger.warning('could not find successor task with mom_id=%s in radb for task otdb_id=%s', successor_mom_id, task['otdb_id']) def getMaxPredecessorEndTime(self, specification_tree):