我有以下代码:
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
它按预期超时。新的导入方式引入了一个错误,或者有一些新的方式可以正确地指定超时。我宁愿使用推荐的方式而不是不推荐使用的方式。但是推荐的方法对我不起作用。有人知道我在这里做错什么吗?
答案 0 :(得分:0)
已在ParallelSSH的github站点上将其确认为错误。因此,此问题已解决。