python - 如何检测并断开 Fabric 的空闲连接?

标签 python fabric

#import ssh
import socket
from fabric.operations import run

def connect_and_wait():
    #ssh.config.socket.setdefaulttimeout(5)
    socket.setdefaulttimeout(5)
    print('SSTART')
    run('echo START')
    run('sleep 10')
    run('echo END')
    print('EEND')

上面的脚本打印所有内容,没有任何错误/异常。

Python 2.6.5,Fabric 1.4.2。

  • socket.setdefaulttimeout() 不起作用。
  • ssh.config.socket.setdefaulttimeout() 不起作用。
  • fabric.api.env['timeout'] 我认为仅用于连接阶段。

最佳答案

Fabric 使用“惰性”连接到远程主机,并且可以在主机上执行任务并且连接丢失时自动重新连接。似乎没有办法显式删除空闲连接,但您可以关闭所有连接并让结构重新连接到“事件”主机。 fabric.network.disconnect_all() 就可以了。

关于python - 如何检测并断开 Fabric 的空闲连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263585/

相关文章:

python - fexpect 破坏结构脚本

python 解析 print 或变量中的变量

python - 通过fabric获取远程文件的前几千字节

python - 'Select-Object' 不是内部或外部命令,也不是可运行的程序或批处理文件

python - 以列表年和月的形式获取日期之间的差异

python - 如何保存输入的文本? (Python)

python - 将 Fabric 输出重定向到文件

python - 为什么Python中使用多线程没有输出?

python - 如何读取64位数据中的位放入Python中相应的位字段中

python - Fabric:本地命令用法