并行Python(pp)和子进程:任务永远不会在客户端上结束

时间:2013-05-22 15:36:00

标签: python subprocess parallel-python

我正在尝试使用“并行Python”(pp)模块来分发“大”工具的计算(gdal2tiles,如果你听说过的话)。我正在运行一些简单的测试来熟悉pp,但我遇到了一个我无法解释的问题。

以下是代码:

import pp

def fun():
    import subprocess
    p = subprocess.Popen("dir", shell=True)
    p.wait()

ppservers=("*",)

job_server=pp.Server(ncpus=0,ppservers=ppservers)

if __name__=='__main__':

    FORMAT = u'%(asctime)-15s %(message)s'
    import logging
    logging.basicConfig( level=logging.DEBUG, format=FORMAT )
    f = job_server.submit(fun)
    r=f()
    job_server.print_stats()

subprocess.Popen中的“dir”就是传递一个有效的shell命令。

在我的ppserver上,我运行“ppserver.py -a -d”。在客户端的控制台上,似乎任务永远不会结束,而 在服务器上结束。

在进一步测试之前,我想了解这里发生了什么,因为我的最终程序更加复杂。

谢谢!

0 个答案:

没有答案