From 9b25f65ca655a567873c66c2b015884a3e013276 Mon Sep 17 00:00:00 2001 From: Tom Ritter Date: Mon, 25 Jan 2016 21:24:41 -0500 Subject: Initial commit of checker --- jobs/PeerChecker.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 jobs/PeerChecker.py (limited to 'jobs/PeerChecker.py') diff --git a/jobs/PeerChecker.py b/jobs/PeerChecker.py new file mode 100755 index 0000000..c8cca38 --- /dev/null +++ b/jobs/PeerChecker.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +import os +import base64 +import datetime + +import imaplib + +import JobBase + +class PeerChecker(JobBase.JobBase): + def executeEvery(self): + return JobBase.JobFrequency.HOUR + def execute(self): + testSuccess = True + peers = self.config.items('peers') + for p in peers: + peer = p[1].split(',') + peerOK = False + + try: + response = requests.get(peer[0]) + if response.status_code != 200: + peerOK = False + subject = peer[0] + " returned a non-standard status code." + else: + if "True" in response.content: + peerOK = True + elif "False" in response.content: + peerOK = False + subject = peer[0] + " reports it cannot send email." + except: + peerOK = False + subject = peer[0] + " is not responding." + + if not peerOK: + if not self.sendEmail(subject, "", peer[1]): + testSuccess = False + return testSuccess \ No newline at end of file -- cgit v1.2.3