Exemplo n.º 1
0
 def set_handler(self, method, config):
     """更换子处理模块
     参数:
         method:方法名,
         config:配置dict
     返回:
         如果成功设置handler,返回{"status":0,"ret":""}
         设置失败,返回{"status":1,"ret":error_message}
     """
     #如果存在实例,在更换模块前清理之前模块的连接
     if self.handler_instance != None:
         self.handler_instance.destroy_connection()
     self.handler_instance = str_to_class(
         "handler_module."+method+"_handler",
         "".join([m.capitalize() for m in method.split("_")])
         +"Handler", config)
     #如果实例化失败,返回错误信息
     if self.handler_instance is None:
         return {
             "status":1,
             "ret":"fail to set handler."
         }
     return {
         "status":0,
         "ret":""
     }
Exemplo n.º 2
0
    def set_modules(self, modules):
        """更换收集模块
        参数:
            更换的模块string list
        返回:
            更换模块并实例化成功返回 {"status":0,"ret":module list}
            失败返回{"status":1,"ret":error_message}
        """
        self.modules = modules

        for module in self.modules:
            #更换模块没有被初始化过或者之前实例化失败时重新实例化
            if (module not in self.module_instance.keys() or
                    self.module_instance[module] == None):
                self.module_instance[module] = str_to_class(
                    "collector_module."+module+"_collector",
                    "".join([m.capitalize() for m in module.split("_")])
                    +"Collector")
            #如果此次实例化还是失败,返回错误信息
            if self.module_instance[module] == None:
                return {
                    "status":1,
                    "ret":"fail to set modules for collector."
                }
        return {
            "status":0,
            "ret":self.modules
        }
Exemplo n.º 3
0
 def __init__(self, modules):
     self.modules = modules
     self.module_instance = {}
     #由于要记录缓存,所以需要持有模块实例
     for module in modules:
         self.module_instance[module] = str_to_class(
             "collector_module."+module+"_collector",
             "".join([m.capitalize() for m in module.split("_")])
             +"Collector")
Exemplo n.º 4
0
 def __init__(self, method, config):
     """初始化处理类
     参数:
         method:方法名
         config:配置dict
     返回:
         无
     """
     self.handler_instance = str_to_class(
         "handler_module."+method+"_handler",
         "".join([m.capitalize() for m in method.split("_")])
         +"Handler", config)