2012-09-04 1 views
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') 

Приведенный выше сценарий печатает все без ошибок и исключений.Как обнаружить и сбросить простоя с Fabric?

Python 2.6.5, Fabric 1.4.2.

  • socket.setdefaulttimeout() не работает.
  • ssh.config.socket.setdefaulttimeout() не работает.
  • fabric.api.env['timeout'] предназначено только для подключения.
+0

В чем Ваш вопрос? –

ответ

1

Ткань использует «ленивые» соединения с удаленными хостами и может автоматически восстанавливаться при выполнении задачи на хосте, а соединение теряется. Кажется, нет никакого способа явно отказаться от подключений на холостом ходу, но вы можете закрыть все подключения и позволить сети повторно подключаться к «активным» хостам. fabric.network.disconnect_all() сделать трюк.

+0

Как раз то, что стоит запомнить: disconnect_all() во всем моем коде из-за ошибки Cygwin: каждый запуск() после первого запускается с привилегиями владельца сервиса Cygwin. – noneo

 Смежные вопросы

  • Нет связанных вопросов^_^