#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']
仅用于连接阶段。答案 0 :(得分:1)
Fabric使用与远程主机的“延迟”连接,并且可以在主机上执行任务时自动重新连接,并且连接丢失。似乎无法显式删除空闲连接,但您可以关闭所有连接并让结构重新连接到“活动”主机。 fabric.network.disconnect_all()
可以做到这一点。