我想尝试fabric2来完成一些需要在多个主机上运行多个命令的任务。所以我使用了threadingGroup
,因为我想同时执行它。下面是代码
with fabric.ThreadingGroup(*hosts) as tg:
try:
tg.run('uptime')
tg.run('last -xF| grep boot')
现在我需要知道fabric一次处理哪个主机,因为我需要根据第二个run
命令的结果对主机进行一些处理。我试着在这件事上翻了很多眼,但没找到多少。即使是fabric文档也很少有关于组的一般信息。在
如果我愿意牺牲下面这样的并发性,我就可以实现这一点。在
^{pr2}$但是这种方法破坏了使用threadingGroup
的整个方法,因为它不是并行运行的,而是按顺序执行的。在
那么,有没有办法用fabric2实现这个目标呢,还是我应该只使用fabric1呢。在
来自
run
操作的GroupResult
将告诉您每个主机上命令的输出。在例如:
相关问题 更多 >
编程相关推荐