使用Python的multiprocessing.Pool和map_asynch,我如何获得有关工人的信息?

时间:2013-06-06 15:46:09

标签: python multiprocessing threadpool

在以下程序中,我如何定期检查:

  • 必须启动的号码任务
  • 目前正在工作的工人数量
  • 已完成的任务数
  • 他们的状态(如果他们已经超时)

代码是:

from multiprocessing import Pool
import time

def f(x):
    time.sleep(x)
    return x*x

if __name__ == '__main__':
    pool = Pool(processes=4)              # start 4 worker processes

    ar = pool.map_async(f, range(10))          # prints "[0, 1, 4,..., 81]"
    pool.close()
    pool.join()
    ar.wait()
    print ar.get()

1 个答案:

答案 0 :(得分:1)

这是你想要的吗?

 ar._number_left