如何使此网络配置代码可扩展到许多设备?

时间:2018-11-15 16:24:02

标签: python networking scalability

更多在这里寻找建议。 我正在研究一些代码(下面的代码段),以在许多网络设备上获取,编辑和优化某些配置。 我需要解决1000多种设备,各种类型的设备,并且需要使这项工作非常有效。 因此了解多处理,使用生成器等会有所帮助,但还不清楚我应该如何将这些应用到我拥有的此类类结构中?

class Device_optimiser():
    @staticmethod
    def connector(**args):
        ssh_client = paramiko.SSHClient()
        for i in args["devices"]:
            try:
                ssh_client.connect(hostname= i['host'],
                                   username=args['username'],
                                   password=args['password'],
                                   port = 22)
            except Exception:
                ll.error("bad device")
            stdin, stdout, stderr = ssh_client.exec_command(i['command'])
            return stdout.read()

    @staticmethod
    def parser(msg):
        parsed_msg = msg + "some work"
        return parsed_msg

    @staticmethod
    def algorithm(parsed_msg):
        sort_selected_msg = parsed_msg + "some work"
        return sort_selected_msg

    @classmethod
    def main(cls, info):
        ssh_output = Device_optimiser.connector(**info)
        parsed_output = Device_optimiser.parser(ssh_output)
        Device_optimiser.algorithm(parsed_output)
        Device_optimiser.connector(**info)

0 个答案:

没有答案