diff --git a/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service b/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service index 29ed75889d9cc8379ac6d0c4ad201a933f862b6b..329bb340ccbb07e70222a443c910510c01945faf 100755 --- a/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service +++ b/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service @@ -41,6 +41,18 @@ class TMSSLofar2SiblingEventMessageHandler(TMSSEventMessageHandler): self.tmss_client.close() def onSchedulingUnitBlueprintCreated(self, id: int): + scheduling_unit = self.tmss_client.get_schedulingunit_blueprint(id, slim=True) + if scheduling_unit['project'].lower().strip() == 'idols': + logger.info("skipping creation of lofar2 sibling for idols unit id=%s", id) + return + + stations = self.tmss_client.get_stations() + lofar2_stations = set([station for station, props in stations.items() if props['version']==2]) + + if set(scheduling_unit['specified_stations']) == lofar2_stations: + logger.info("skipping creation of lofar2 sibling for unit id=%s which is already using lofar2 stations", id) + return + lofar2_unit = self.tmss_client.create_lofar2_sibling_scheduling_unit(id) if lofar2_unit is not None: logger.info("created lofar2 unit: %s", lofar2_unit['url'])