diff --git a/SAS/ResourceAssignment/RAtoOTDBTaskSpecificationPropagator/lib/propagator.py b/SAS/ResourceAssignment/RAtoOTDBTaskSpecificationPropagator/lib/propagator.py index 8c612605a32f8e263efa00e831c9e9ef1b1aa8a6..b902885226a57b54dd0a8b045056032a8e7fd832 100755 --- a/SAS/ResourceAssignment/RAtoOTDBTaskSpecificationPropagator/lib/propagator.py +++ b/SAS/ResourceAssignment/RAtoOTDBTaskSpecificationPropagator/lib/propagator.py @@ -108,17 +108,21 @@ class RAtoOTDBPropagator(): self.otdbrpc.taskSetStatus(otdb_id, 'conflict') def doTaskScheduled(self, ra_id, otdb_id, mom_id): - logger.info('doTaskScheduled: otdb_id=%s mom_id=%s' % (otdb_id, mom_id)) - if not otdb_id: - logger.warning('doTaskScheduled no valid otdb_id: otdb_id=%s' % (otdb_id,)) - return - ra_info = self.getRAinfo(ra_id) - project = self.momrpc.getProjectDetails(mom_id) - logger.info(project) - project_name = "_".join(project[str(mom_id)]['project_name'].split()) - otdb_info = self.translator.CreateParset(otdb_id, ra_info, project_name) - logger.debug("Parset info for OTDB: %s" %otdb_info) - self.setOTDBinfo(otdb_id, otdb_info, 'scheduled') + try: + logger.info('doTaskScheduled: otdb_id=%s mom_id=%s' % (otdb_id, mom_id)) + if not otdb_id: + logger.warning('doTaskScheduled no valid otdb_id: otdb_id=%s' % (otdb_id,)) + return + ra_info = self.getRAinfo(ra_id) + project = self.momrpc.getProjectDetails(mom_id) + logger.info(project) + project_name = "_".join(project[str(mom_id)]['project_name'].split()) + otdb_info = self.translator.CreateParset(otdb_id, ra_info, project_name) + logger.debug("Parset info for OTDB: %s" %otdb_info) + self.setOTDBinfo(otdb_id, otdb_info, 'scheduled') + except Exception as e: + logger.error(e) + self.doTaskConflict(ra_id, otdb_id, mom_id) def getRAinfo(self, ra_id): info = {}