使用pssh.clients时,python parallel-ssh run_command不会超时

时间:2018-08-28 16:42:07

标签: python parallel-ssh

我有以下代码:

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也将永远挂起。甚至尝试对run_command使用“ use_pty = True”参数。

奇怪的是,如果我使用不推荐使用的方法 pssh_client 而不是 clients ,如下所示:

from pssh.pssh_client import ParallelSSHClient

它按预期超时。新的导入方式引入了一个错误,或者有一些新的方式可以正确地指定超时。我宁愿使用推荐的方式而不是不推荐使用的方式。但是推荐的方法对我不起作用。有人知道我在这里做错什么吗?

1 个答案:

答案 0 :(得分:0)

已在ParallelSSH的github站点上将其确认为错误。因此,此问题已解决。