代码之家  ›  专栏  ›  技术社区  ›  Amala

使用API时使用Python结构断开与主机的连接

  •  5
  • Amala  · 技术社区  · 15 年前

    网站上说:

    连接缓存从不关闭 连接本身它把这个留着 任何使用它的东西。晶圆厂工具 这个簿记对你有用吗 迭代所有打开的连接和 在它退出之前关闭它们 (无论任务 是否失败。)

    图书馆用户需要确保 计划让这在未来变得更容易 未来。

    我到处都找遍了,但找不到如何断开或关闭连接。我正在我的主机中循环并设置env.host\u字符串。它正在工作,但退出时挂起。关于如何关闭有什么帮助吗?只是重申一下,我使用的是库,而不是文件。

    4 回复  |  直到 14 年前
        1
  •  4
  •   Maascamp    14 年前

    """ 在结尾使用 fab 的主循环,也供 图书馆用户 . """

        2
  •  4
  •   Amala    8 年前

    fabric的main.py包含以下内容:

    from fabric.state import commands, connections
    
    for key in connections.keys():
        if state.output.status:
            print "Disconnecting from %s..." %, denormalize(key), connections[key].close()
    

    fabric.state.connections是一个dict,其值为:paramiko.SSHClient

    所以我去把它们关上。

        3
  •  0
  •   Sébastien Pierre    10 年前

    def disconnect(host):
        host = host or fabric.api.env.host_string
        if host and host in fabric.state.connections:
            fabric.state.connections[host].get_transport().close()
    
        4
  •  0
  •   Nick SamSmith1986    6 年前
    from fabric.network import disconnect_all
    disconnect_all()