Python parallel-ssh run_command не делает тайм-аут при использовании pssh.clients - PullRequest
0 голосов
/ 28 августа 2018

У меня есть следующий код:

from pssh.clients import ParallelSSHClient
#-------------------------------------------------

hosts = [ IP1, IP2, ... IPn]
host_config = { dict containing userid & passwd for each host }

clients = ParallelSSHClient(hosts, host_config=host_config,
                           num_retries=1, timeout=3)

output = clients.run_command("ls", stop_on_errors=False, timeout=3)
print output

Если у моих хостов есть все действительные IP-адреса, я получаю «выходные данные». Однако, если хотя бы один из IP-адресов недействителен (несуществующий хост), команда run_command зависнет навсегда. Даже пытался использовать аргумент «use_pty = True» для run_command.

Странная вещь в том, что если я использую устаревший метод pssh_client вместо клиентов , как показано ниже:

from pssh.pssh_client import ParallelSSHClient

это время ожидания, как и ожидалось. Либо есть ошибка, добавленная в новый способ импорта, либо есть новый способ правильно указать время ожидания. Я бы предпочел использовать рекомендованный способ вместо устаревшего. Но рекомендованный способ не работает для меня. Кто-нибудь знает, если я здесь что-то не так делаю?

1 Ответ

0 голосов
/ 31 августа 2018

Это было подтверждено как ошибка на github-сайте ParallelSSH. Следовательно, этот вопрос закрыт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...