diff --git a/SAS/OTDB_Services/OTDBBusListener.py b/SAS/OTDB_Services/OTDBBusListener.py index d699cf878a5119471812c357f12396c1e25a3bcb..65b740a38e470031a367216e774d54981cf784a1 100644 --- a/SAS/OTDB_Services/OTDBBusListener.py +++ b/SAS/OTDB_Services/OTDBBusListener.py @@ -93,6 +93,8 @@ class OTDBBusListener(AbstractBusListener): self.onObservationFinished(treeId, modificationTime) elif msg.content['state'] == 'aborted': self.onObservationAborted(treeId, modificationTime) + elif msg.content['state'] == 'obsolete': + self.onObservationObsolete(treeId, modificationTime) def onObservationDescribed(self, treeId, modificationTime): pass @@ -130,4 +132,7 @@ class OTDBBusListener(AbstractBusListener): def onObservationAborted(self, treeId, modificationTime): pass + def onObservationObsolete(self, treeId, modificationTime): + pass + __all__ = ["OTDBBusListener"] diff --git a/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py b/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py index eb8ce5cce69f236399ec135c71f7f07fe4cc3227..3b14e6046179d8d45912b616789c6fca4fd21b51 100644 --- a/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py +++ b/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py @@ -47,8 +47,8 @@ class OTDBtoRATaskStatusPropagator(OTDBBusListener): def _update_radb_task_status(self, otdb_id, task_status): try: - if task_status in ['approved', 'prescheduled']: - radb_task = self.radb.getTask(otdb_id=treeId) + if task_status in ['approved', 'prescheduled', 'obsolete']: + radb_task = self.radb.getTask(otdb_id=otdb_id) if (radb_task and radb_task['cluster'] == 'CEP4' and radb_task['status'] in ['queued', 'active', 'completing']): @@ -105,6 +105,9 @@ class OTDBtoRATaskStatusPropagator(OTDBBusListener): def onObservationConflict(self, treeId, modificationTime): self._update_radb_task_status(treeId, 'conflict') + def onObservationObsolete(self, treeId, modificationTime): + self._update_radb_task_status(treeId, 'obsolete') + def onObservationPrescheduled(self, treeId, modificationTime): self._update_radb_task_status(treeId, 'prescheduled')