aboutsummaryrefslogtreecommitdiff
path: root/jobs
diff options
context:
space:
mode:
authorTom Ritter <tom@ritter.vg>2020-09-08 13:35:45 -0400
committerTom Ritter <tom@ritter.vg>2020-09-08 13:35:45 -0400
commit9e24dfeaabd1c4daddb96c9c143f60cfa3374bf2 (patch)
tree68fcad74f1ff25df8d10251b9a278523b8cedf06 /jobs
parent625f942d60c2f524f389f945a4e4743e57b9393e (diff)
Better error logging
Diffstat (limited to 'jobs')
-rwxr-xr-xjobs/JobBase.py29
-rwxr-xr-xjobs/__init__.py5
2 files changed, 19 insertions, 15 deletions
diff --git a/jobs/JobBase.py b/jobs/JobBase.py
index 7f8fbc9..ac0b793 100755
--- a/jobs/JobBase.py
+++ b/jobs/JobBase.py
@@ -148,19 +148,21 @@ def sendEmail(config, subject, body, to=""):
logging.info("Not sending email with subject '" + subject + '" but pretending we did.\n' + body)
return True
- FROM = config.get('email', 'user')
- PASS = config.get('email', 'pass')
- if not to:
- to = config.get('general', 'alertcontact')
-
- # Prepare actual message
- # Avoid gmail threading
- subject = "[" + config.get('general', 'servername') + "] " + subject + " "
- if config.getboolean('email', 'bustgmailthreading'):
- subject += str(random.random())
- message = """\From: %s\nTo: %s\nSubject: %s\n\n%s""" \
- % (FROM, ", ".join(to), subject, body)
try:
+ FROM = config.get('email', 'user')
+ PASS = config.get('email', 'pass')
+
+ if not to:
+ to = config.get('general', 'alertcontact')
+
+ # Prepare actual message
+ # Avoid gmail threading
+ subject = "[" + config.get('general', 'servername') + "] " + subject + " "
+ if config.getboolean('email', 'bustgmailthreading'):
+ subject += str(random.random())
+ message = """\From: %s\nTo: %s\nSubject: %s\n\n%s""" \
+ % (FROM, ", ".join(to), subject, body)
+
server = smtplib.SMTP(config.get('email', 'smtpserver'), config.get('email', 'smtpport'))
server.ehlo()
server.starttls()
@@ -169,5 +171,6 @@ def sendEmail(config, subject, body, to=""):
server.close()
return True
except Exception as e:
- logging.critical("Caught an exception trying to send an email:" + str(e))
+ logging.critical("Caught an exception trying to send an email:" + repr(e))
+ logging.critical(logging.traceback.format_exc())
return False
diff --git a/jobs/__init__.py b/jobs/__init__.py
index b4b4f48..efce333 100755
--- a/jobs/__init__.py
+++ b/jobs/__init__.py
@@ -78,11 +78,12 @@ class JobFinder(object):
module = load_module('jobs.' + full_name, file,
pathname, description)
except Exception as e:
- logging.critical('Import Error on ' + module_name + ': ' + str(e))
+ logging.critical('Import Error on ' + module_name + ': ' + repr(e))
+ logging.critical(logging.traceback.format_exc())
jobs.JobBase.sendEmail(self.config, 'Import Error on ' + module_name, str(e))
continue
job_modules.append(module)
return job_modules
def get_jobs(self):
- return self._jobs \ No newline at end of file
+ return self._jobs