Пример #1
0
 def get_event_from_hint(self, hint):
     """
     Get ActiveEvent from json hint
     :param hint:
     :return:
     """
     metrics["event_hints"] += 1
     e = ActiveEvent.from_json(hint)
     # Prevent TypeError: can't compare offset-naive and offset-aware datetimes
     # when calculating alarm timestamp
     e.timestamp = e.timestamp.replace(tzinfo=None)
     return e
Пример #2
0
 async def on_dispose_event(self, msg: Message) -> None:
     """
     Called on new dispose message
     """
     data = orjson.loads(msg.value)
     event_id = data["event_id"]
     hint = data["event"]
     self.logger.info("[%s] Receiving message", event_id)
     metrics["alarm_dispose"] += 1
     try:
         event = ActiveEvent.from_json(hint)
         event.timestamp = event.timestamp.replace(tzinfo=None)
         await self.dispose_event(event)
     except Exception:
         metrics["alarm_dispose_error"] += 1
         error_report()
     finally:
         if self.topo_rca_lock:
             # Release pending RCA Lock
             await self.topo_rca_lock.release()
             self.topo_rca_lock = None