使用Jug,如何在多处理模式下运行嵌套循环?

时间:2011-07-05 21:22:29

标签: python multiprocessing

例如,以下代码仅在1个进程中运行任务:

from jug import TaskGenerator
evaluate = TaskGenerator(evaluate)

for p0 in [1,2,3]:
for p1 in xrange(10):
    for p2 in xrange(10,20):
         for p3 in [True, False]:
             for p4 in xrange(100):
                results.append(evaluate(p0,p1,p2,p3,p4))

我应该在哪里指出进程数量? 谢谢!

1 个答案:

答案 0 :(得分:4)

此处jug的作者。

要运行此脚本,假设它是一个名为script.py的文件,您将运行jug execute script.py命令(而不是python script.py)。

您可以简单地并行运行其中的多个。如果您使用类似Unix的shell,以下应该可以正常使用两个处理器:

jug execute script.py &
jug execute script.py &

不同的进程将使用文件系统相互通信来分割工作(这是默认的,如果你想使用不共享文件系统的机器集群,你也可以使用redis后端) 。

您还可以使用以下内容检查运行时的进度:

jug status script.py