zoukankan      html  css  js  c++  java
  • Django【设计】同功能不同实现模式的兼容性

    需求:
    当我们采集硬件信息时,客户端可以有多种方式,具体方式取决于客户机,CMDB项目中,我们有三种方式可选,AGENT/SSH/SALT,根据客户机具体情况和“SALT>>SSH>>AGENT”的优选级我们确定,选用SSH的方式进行硬件信息采集。
    但是,不能固定不变,当客户机改变时需要用AGENT或者SALT方式时,我们希望能够根据配置文件随时切换模式。
     
    在配置文件settings进行配置:
    script.py,约束采集信息模式(agent,ssh,salt),兼容三种模式
    from lib.config import settings
    from .client import AgentClient
    from .client import SaltSshClient
    
    def start():
        # 这个函数用来判断模式,并约束可选模式
        if settings.MODE == 'AGENT':
            obj = AgentClient()
        elif settings.MODE == "SSH" or settings.MODE == 'SALT':
            obj = SaltSshClient()
        else:
            raise Exception('模式仅支持:AGENT/SSH/SALT')
        obj.exec()
    

      

     
  • 相关阅读:
    c3p0连接池c3p0-config.xml配置文件各属性的意义
    MVC案例-架构分析
    jsp中文乱码
    JSP标签
    JSP_include指令
    JavaWeb_请求转发
    JavaWeb_域对象的属性操作
    JavaWeb_JSP语法
    345. Reverse Vowels of a String
    541. Reverse String II
  • 原文地址:https://www.cnblogs.com/lucaq/p/7642107.html
Copyright © 2011-2022 走看看