从python运行多个交互式集群作业,并等待它们完成

时间:2017-01-09 20:58:06

标签: python multiprocessing cluster-computing

我正在寻找以下问题的最佳解决方案: 我正在开发一个集群,我想将交互式作业生成到集群。 但是,我想生成大约7,000个这样的作业,而且我无法并行运行它们。

我想拥有一个流程/线程池,它可以交互式地运行作业(比如一次4个),我希望我的程序“等待”所有7,000个作业完成运行。 / p>

除线程池外还需要队列吗? 实现目标的最佳方法是什么? 这是我目前的代码。

results = []
with open(input_file_location, "r") as input_file:
    log("Spawnning jobs")

    for filename in input_file:
        cmd = config.command_templates["some_cmd"] % (filename)
        results.append(pool.apply_async(run_job, (cmd,)))

# Close the pool and wait for each running task to complete
pool.close()
pool.join()

0 个答案:

没有答案