diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py b/SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py index 004ec964293871ed5f11b85119ad831b959169e4..245efc1a8413a1135d6b92560a89e232b67d0a6e 100644 --- a/SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py +++ b/SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py @@ -282,6 +282,9 @@ class PriorityScheduler(BasicScheduler): broker=broker, timeout=120) + # Time needed in between tasks to setup the stations + self.STATION_SETUP_TIME_MINUTES = 1 + def open(self): """ Open connections to the required services """ self.momqueryservice.open() @@ -426,6 +429,10 @@ class PriorityScheduler(BasicScheduler): if unkillable_task_ids: # note that we need to use the endtime of the claims, as they may extend beyond the task earliest_potential_starttime = min([c["endtime"] for c in conflicting_claims if c["task_id"] in unkillable_task_ids]) + + # Allow the system X minutes station setup + earliest_potential_starttime += timedelta(minutes=self.STATION_SETUP_TIME_MINUTES) + self._propose_potential_starttime(earliest_potential_starttime) return kill_task_list