1
#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,织物 1.4.2。

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

1 回答 1

1

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

于 2012-10-14T10:36:09.560 回答