def __init__(self, pidfile='/tmp/test-monitor.pid', stdin='/dev/stdin', stdout='/dev/stdout', stderr='/dev/stderr', intvl=10, logfile='/opt/monitor.log'): super(MonitorManager, self).__init__(pidfile=pidfile, stdin=stdin, stdout=stdout, stderr=stderr) paras = util.load_conf('conf') MonitorManager._logfile = logfile if not paras.has_key('intvl'): MonitorManager._intvl = intvl paras['intvl'] = intvl else: MonitorManager._intvl = int(paras['intvl']) if paras.has_key('pollsters'): tmp_list = eval(paras['pollsters']) for poll in tmp_list: p_name, cls = util.load_class(poll) if p_name and cls: MonitorManager._pollsters[p_name] = cls() else: MonitorManager._pollsters = OrderedDict() util.update_conf('conf', paras)
def set_pollsters(self, poll_list): paras = util.load_conf('conf') MonitorManager._pollsters = OrderedDict() for poll in poll_list: p_name, cls = util.load_class(poll) if p_name and cls: MonitorManager._pollsters[p_name] = cls() if poll_list: paras['pollsters']='%s' %poll_list util.update_conf('conf', paras) self.restart()
def set_pollsters(self, poll_list): paras = util.load_conf('conf') MonitorManager._pollsters = OrderedDict() for poll in poll_list: p_name, cls = util.load_class(poll) if p_name and cls: MonitorManager._pollsters[p_name] = cls() if poll_list: paras['pollsters'] = '%s' % poll_list util.update_conf('conf', paras) self.restart()
def process(self): assert hasattr(GeneratorConf, "TASKS") self.debug("####### PROCESS START #######") for task in GeneratorConf.TASKS: self.debug("==== start one task for '%s' ====" \ % (task.get("NAME", "--"))) tpx = util.load_class(task["TEMPLATE"][0], task["TEMPLATE"][1]) drx = util.load_class(task["DATA_RESOURCE"][0], task["DATA_RESOURCE"][1]) dpx = util.load_class(task["DATA_PROVIDER"][0], task["DATA_PROVIDER"][1]) hdx = util.load_class(task["HANDLER"][0], task["HANDLER"][1]) resources = [] for rdict in task["RESOURCES"]: resources.append(drx(rdict)) provider = dpx(resources) template = tpx() handler = hdx() do_list = provider.provide() for do in do_list: if not template.validate(do): continue path, filename, content = template.output(do) out_path = task.get("SAVE_PATH", 'out') path = os.path.join(out_path, path) h_config = { 'filename' : filename, 'content' : content, 'path' : path, 'data_object' : do } handler.handle(content, h_config) self.debug("==== finish one task for '%s' ====" \ % (task.get("NAME", "--"))) self.debug("####### PROCESS END #######")