diff --git a/SAS/TMSS/backend/services/tmss_ra_adapter/lib/tmss_ra_adapter.py b/SAS/TMSS/backend/services/tmss_ra_adapter/lib/tmss_ra_adapter.py index 1e861ccbda82ab4907fce008a53cb2828c62d85a..eeadb94510ff62034f92b6ffbafd76f6c042d4cf 100644 --- a/SAS/TMSS/backend/services/tmss_ra_adapter/lib/tmss_ra_adapter.py +++ b/SAS/TMSS/backend/services/tmss_ra_adapter/lib/tmss_ra_adapter.py @@ -27,6 +27,7 @@ logger = logging.getLogger(__name__) import requests from dateutil import parser +from datetime import timedelta import json from lofar.common import isProductionEnvironment, isTestEnvironment from lofar.common.util import waitForInterrupt @@ -158,8 +159,8 @@ class RAEventMessageHandlerForTMSSSynchronization(RAEventMessageHandler): "description": "A reservation while OTDB observation %s %s %s is observing" % (ra_task['project_name'], ra_task['otdb_id'], ra_task['description']), "specifications_doc": specifications_doc, "specifications_template": self._tmss_client.get_full_url_for_path('/reservation_template/1'), - "start_time": ra_task['starttime'], - "stop_time": ra_task['endtime'] + "start_time": (parser.parse(ra_task['starttime'], ignoretz=True) - timedelta(minutes=1)).isoformat(), # add one minute so that TMSS stops early enough before MoM starts + "stop_time": (parser.parse(ra_task['endtime'], ignoretz=True) + timedelta(minutes=1)).isoformat() # add one minute so that TMSS does not start something else too soon after MoM finishes } self._tmss_client.post_to_path_and_get_result_as_json_object('/reservation', json_data=reservation)