【发布时间】:2012-02-05 10:19:03
【问题描述】:
给出以下 fabfile:
from fabric.api import env, run
env.user = 'implicit_user'
env.hosts = ['host1', 'explicit_user@host2', 'host3']
def print_user():
with hide('running'):
run('echo "%(user)s"' % env)
当我们运行fab print_user 时,我们得到:
[host1] out: implicit_user
[explicit_user@host2] out: explicit_user
[host3] out: implicit_user
Done.
Disconnecting from host1... done.
Disconnecting from host2... done.
Disconnecting from host3... done.
但是,我非常希望按顺序执行整个fab print_user,中间有 10 秒的间隔,以确保前一个主机在下一个主机启动操作之前完成其操作:
[host1] out: implicit_user
<10 seconds here...>
[explicit_user@host2] out: explicit_user
<10 seconds here...>
[host3] out: implicit_user
<10 seconds here...>
Done.
Disconnecting from host1... done.
Disconnecting from host2... done.
Disconnecting from host3... done.
有办法吗?我应该如何调整我的 fabfile 来实现它?
【问题讨论】:
标签: python deployment fabric