From cd28e8be72b84b6eda4a0abf2ec15d19f1e5139c Mon Sep 17 00:00:00 2001 From: Ruud Beukema <beukema@astron.nl> Date: Wed, 20 Sep 2017 11:57:32 +0000 Subject: [PATCH] Task #9893: DwellScheduler now forces time in between tasks (1 minute) to allow for the setup of stations --- SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py b/SAS/ResourceAssignment/ResourceAssigner/lib/schedulers.py index 004ec964293..245efc1a841 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 -- GitLab