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