#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/