diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py index d283ec746840fb5f14d936bb739b538dbcaab6f7..80475ecd80b6da65e85cab232579439e76df18fa 100755 --- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py +++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py @@ -235,13 +235,17 @@ class ResourceAssigner(): try: startTime = parseDatetime(mainParset.getString('Observation.startTime')) except Exception: + startTime = None + + # If we don't have a valid startTime, use the current time + if startTime is None or startTime < datetime.utcnow(): startTime = datetime.utcnow() + timedelta(minutes=3) maxPredecessorEndTime = self.getMaxPredecessorEndTime(specification_tree) if maxPredecessorEndTime and maxPredecessorEndTime > startTime: startTime = maxPredecessorEndTime + timedelta(minutes=3) - taskDuration = mainParset.getInt('ObsSW.Observation.Scheduler.taskDuration', -1) + taskDuration = mainParset.getInt('Observation.Scheduler.taskDuration', -1) taskDuration = timedelta(seconds=taskDuration) if taskDuration > 0 else timedelta(hours=1) endTime = startTime + taskDuration