X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Fcommon.py;h=05a4ec261ed10897f27007e7f5ef707145817c72;hb=2d1c0c5c0bf2fb15651dcfd813ae68bff4b80535;hp=da174d883c77d7ec96f0f63d19848a58e5325ae6;hpb=3f2acbd8b7761dae4bb02fedd3557e1003cafb43;p=monitor.git diff --git a/monitor/common.py b/monitor/common.py index da174d8..05a4ec2 100644 --- a/monitor/common.py +++ b/monitor/common.py @@ -3,7 +3,7 @@ import time import struct from monitor import reboot from monitor import util -from monitor import database +from monitor import query from monitor.wrapper import plc from datetime import datetime, timedelta @@ -209,21 +209,26 @@ def get_nodeset(config): # perform this query after the above options, so that the filter above # does not break. if config.nodeselect: - fbquery = FindbadNodeRecord.get_all_latest() + fbquery = HistoryNodeRecord.query.all() node_list = [ n.hostname for n in fbquery ] - l_nodes = node_select(config.nodeselect, node_list, None) + l_nodes = query.node_select(config.nodeselect, node_list, None) return l_nodes -def email_exception(content=None): +def email_exception(content=None, title=None): import config from monitor.model import Message import traceback msg=traceback.format_exc() if content: msg = content + "\n" + msg - m=Message("exception running monitor", msg, False) - m.send([config.cc_email]) + + full_title = "exception running monitor" + if title: + full_title = "exception running monitor %s" % title + + m=Message(full_title, msg, False) + m.send([config.exception_email]) return def changed_lessthan(last_changed, days): @@ -235,6 +240,9 @@ def changed_lessthan(last_changed, days): return False def changed_greaterthan(last_changed, days): + if last_changed is None: + return False + if datetime.now() - last_changed > timedelta(days): #print "last changed more than %s" % timedelta(days) return True