我用fabric来运行一些测试,每台机器上的每个测试。我想给每个运行调用传递一个唯一的索引。 当不允许复制主机时,我会执行以下操作:
@task
@parallel
def run_test():
idx = env.hosts.index(env.host)
run('run_test %d' % (idx)
这个很好用。但是,现在我想在每台机器上运行几个测试。我通过多次传递相同的主机名,然后设置环境重复数据消除主机=False,但是,这打破了上述模式,因为现在每个调用都将获得相同的索引。你知道吗
有什么办法吗。我尝试使用多进程锁来分配索引,但没有成功。你知道吗
干杯。你知道吗
[回答我自己的问题] 事实证明,使用多进程是解决这个问题的正确方法。您只需要使用Lock和Value,例如:
需要初始化的位置:
相关问题 更多 >
编程相关推荐