AG-Schumann / Doberman

Distributed supervisory control, data acquisition, and monitoring software for small- to medium-size experiments
MIT License
0 stars 1 forks source link

Enable test alarms and more reliable alarm sending #208

Closed adambrown1 closed 1 year ago

adambrown1 commented 1 year ago

Allows sending a test alarm by passing the 'testalarm [LEVEL]' command to the alarm pipeline monitor.

Also fixes a bug in the alarm sending whereby if one communication mechanism doesn't work (e.g. email fails) the others may not be tried, depending one what order the connection details are stored in the database. Now all are tried and an exception is nevertheless raised if one fails by log_alarm in AlarmMonitor.py.

In AlarmNode.log_alarm the exception is caught and an additional database parameter (silence_duration_cant_send) determines how long the pipeline should be silenced (to avoid sending a new alarm for every subsequent reading if there is still a problem.

For now, for pancake, this is set to 60 seconds.