Пропустите плохие хозяева и верните хорошие результаты при вызове тканиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Пропустите плохие хозяева и верните хорошие результаты при вызове ткани

Сообщение Anonymous »

Я хотел бы отправить удаленную команду нескольким хостам, используя библиотеку ткани Python. Следующий код работает до тех пор, пока все хосты доступны < /p>

Код: Выделить всё

#!/usr/bin/python3
import fabric

group = fabric.ThreadingGroup('boss1', 'boss2')
results = group.run('uname -a', hide=True, timeout=5)

for _connection, _result in results.items():
print(f'{_connection.host}: {_result.stdout.strip()}')
< /code>
Если один из хостов недоступен, я получаю ошибку тайм -аута, такую ​​как следующая < /p>
fabric.exceptions.GroupException: {: TimeoutError(60, 'Operation timed out'), : }
Я бы хотел сократить время ожидания до 5 секунд (как указано в group.run () ) и (2) изолировать ошибку только для плохого. Информация о хосте и возврате из успешной (ы).
Я нашел документацию о Connection_timeout , но только Group.run () , похоже, принимает тайм -аут Ключевое слово и Он не уменьшается с 60 секунд.
Я также обнаружил документацию о ключевом слова Skip_bad_hosts , но не могу вставить его в свой код без ошибки времени выполнения.
Как лучше всего пропустить ошибку по одной системе и возвращать результаты от других?
python 3, ткань 3

Подробнее здесь: https://stackoverflow.com/questions/794 ... abric-call
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»