def restartTimers(self):
now = time.time()
for key, alert in self.rediscl.hgetall('alerts').items():
alert = self.getAlert(key)
if alert['state'] in ('RESOLVED', 'UNRESOLVED'):
self.rediscl.hdel('alerts', key)
else:
alerttime = self.getStateTime(alert)
if not alerttime:
self.rediscl.hdel('alerts', key)
continue
epoch = alert['epoch'] or alert['lasttime']
remainingtime = (epoch + alerttime) - now
if remainingtime > 0:
self.logger.info("Schedule escalation in %ss for state %s" % (remainingtime, alert['state']))
self.timers[alert['guid']] = gevent.spawn_later(remainingtime, self.escalateHigher, alert)
else:
self.escalateHigher(alert)
评论列表
文章目录