From 636ad103a36d1ae0de9bff2acad7b6bbfa966363 Mon Sep 17 00:00:00 2001 From: Ian Fijolek Date: Wed, 14 Feb 2018 17:54:42 -0800 Subject: [PATCH] Add run loop and interval --- .gitignore | 1 + minitor/main.py | 15 +++++++++------ sample-config.yml | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 7f7cccc..edc6c13 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ docs/_build/ # PyBuilder target/ +config.yml diff --git a/minitor/main.py b/minitor/main.py index a9a36cd..a54cafa 100644 --- a/minitor/main.py +++ b/minitor/main.py @@ -1,5 +1,6 @@ from subprocess import CalledProcessError from subprocess import check_call +from time import sleep import yamlenv @@ -27,13 +28,15 @@ def alert_for_monitor(monitor, alerts): def main(): # TODO: get config file off command line - config = get_config('./sample-config.yml') + config = get_config('config.yml') alerts = config.get('alerts', {}) - for monitor in config.get('monitors', []): - try: - check_monitor(monitor) - except CalledProcessError: - alert_for_monitor(monitor, alerts) + while True: + for monitor in config.get('monitors', []): + try: + check_monitor(monitor) + except CalledProcessError: + alert_for_monitor(monitor, alerts) + sleep(config.get('interval', 1)) if __name__ == '__main__': main() diff --git a/sample-config.yml b/sample-config.yml index c1f6b83..7dee907 100644 --- a/sample-config.yml +++ b/sample-config.yml @@ -1,3 +1,5 @@ +interval: 5 + monitors: - name: View command: [ 'curl', 'https://localhost:5000' ]