如何使用资源池在Python中运行批处理作业? 我必须调用100个C++长时间运行的程序,这两个程序既可以是CPU也可以是IO重。

如何使用资源池在Python中运行批处理作业? 我必须调用100个C++长时间运行的程序,这两个程序既可以是CPU也可以是IO重。,python,Python,我正在使用Popen从Python进行调用。以我目前天真的方式: for exe in all_exe: processes.append(Popen(exe)) while not completed(processes): sleep(1.0) 我的系统资源很快就会耗尽。有蟒蛇吗 该库允许我指定100个I中有多少个worker 想要一次跑,因为一次跑是不好的,那会 旧员工完成后立即开始新员工 也许还有一些选择,比如尼斯和爱奥尼斯,这样我就可以 充分利用我的系统资源而无需体

我正在使用Popen从Python进行调用。以我目前天真的方式:

for exe in all_exe:
    processes.append(Popen(exe))

while not completed(processes):
    sleep(1.0)
我的系统资源很快就会耗尽。有蟒蛇吗 该库允许我指定100个I中有多少个worker 想要一次跑,因为一次跑是不好的,那会 旧员工完成后立即开始新员工

也许还有一些选择,比如尼斯和爱奥尼斯,这样我就可以 充分利用我的系统资源而无需体验
慢下来。

从技术上讲,你不应该问到库的链接之类的问题,但是你有这么多的进程,占用了这么多CPU,这让我大吃一惊。也许最好在多台机器之间进行分割,而不是在一台机器上进行批处理?你可以测试这是一个分布式任务队列,我不确定,因为芹菜是基于线程的,但很容易测试和检查。你为什么要重新发明轮子?Python的标准库中已经有了它的代码。@Bakuriu,看起来不错。这是标准方法吗?我不是Python人,我不想重新发明轮子,只想知道为什么人们通常使用它。还有,尼斯和爱奥尼斯怎么样?进程池可以这样配置吗?