pyinfra中的并行选项和无等待选项有什么区别

问题描述 投票:0回答:1

我想知道pyinfra中的并行选项和无等待选项有什么区别。

我理解并行选项控制一次主机的数量,无等待选项控制主机操作是否并行工作。

我是否误解了这些选项?

我运行了“pyinfra inventory.py test_operation.py test_operation2.py”命令

# test_operation.py
from pyinfra.operations import python, server
import gevent
result = server.shell(
    commands=["ls"],
)

def callback():
    import time
    time.sleep(5)
    print(f"Got result: {result.stdout}")

python.call(
    name="Execute callback function",
    function=callback,
)
# test_operation2.py
from pyinfra.operations import python, server

result = server.shell(
    commands=["ls"],
)

def callback():
    import time
    time.sleep(5)
    print(f"Got result22222222: {result.stdout}")

python.call(
    name="Execute callback function",
    function=callback,
)
python parallel-processing gevent pyinfra
1个回答
0
投票

对于单个操作,标志是相同的,不同之处在于使用多个操作时。具体来说,

--parallel
操作控制并行运行每个操作的主机数量。每次操作后,pyinfra 仍会等待所有主机完成。

使用

--no-wait
,操作之间的等待被消除,每个主机将尽快执行每个操作。

© www.soinside.com 2019 - 2024. All rights reserved.