From 22137e3eed9355864657df9ab0d9e35ae13e128e Mon Sep 17 00:00:00 2001 From: Tamas Gal <tgal@km3net.de> Date: Wed, 2 Oct 2019 23:44:12 +0200 Subject: [PATCH] Add trigger rate bot --- scripts/trigger_rates.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/scripts/trigger_rates.py b/scripts/trigger_rates.py index f108f53..80cd789 100755 --- a/scripts/trigger_rates.py +++ b/scripts/trigger_rates.py @@ -35,6 +35,10 @@ matplotlib.use("Agg") import matplotlib.pyplot as plt import matplotlib.dates as md +import toml + +from rocketchat_API.rocketchat import RocketChat + import km3pipe as kp from km3pipe.config import Config from km3pipe.io.daq import (DAQPreamble, DAQEvent, is_3dshower, is_3dmuon, @@ -44,6 +48,23 @@ import km3pipe.style VERSION = "1.0" km3pipe.style.use('km3pipe') +URL = "https://chat.km3net.de" +CONFIG = "pipeline.toml" + +with open(CONFIG, 'r') as fobj: + config = toml.load(fobj) + BOTNAME = config['Alerts']['botname'] + PASSWORD = config['Alerts']['password'] + CHANNEL = config['Alerts']['channel'] + +rocket = RocketChat(BOTNAME, PASSWORD, server_url=URL) + + +def sendchatalert(msg): + with open(CONFIG, 'r') as fobj: + shifters = toml.load(fobj)['Alerts'].get('shifters', "shifters") + rocket.chat_post_message(shifters + ": " + msg, channel=CHANNEL) + class TriggerRate(kp.Module): """Trigger rate plotter""" @@ -57,6 +78,9 @@ class TriggerRate(kp.Module): self.sendmail = kp.time.Cuckoo( 15 * 60, partial(kp.tools.sendmail, "orca.alerts@km3net.de")) + self.sendchatalert = kp.time.Cuckoo(30 * 60, sendchatalert) + + self.sendchatalert("Trigger rate bot is now ready to spam.") print("Update interval: {}s".format(self.interval)) self.trigger_counts = defaultdict(int) @@ -165,6 +189,7 @@ class TriggerRate(kp.Module): trigger_rate = 0 if trigger_rate == 0: self.sendmail("Subject: Trigger rate is 0Hz!\n\n") + self.sendchatalert("Trigger rate is 0Hz!") entry += f",{trigger_rate}" entry += '\n' self.trigger_rates_fobj.write(entry) -- GitLab