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 __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()
Exemple #5
0
    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 #######")