我试图实施多处理并努力获得我需要的地方。
所以我以前使用Celery进行多处理的一些背景,所以我习惯于能够将工作发送给工人并在工作完成时进行轮询,并且即使其他工作正在进行,也可以获得工作结果。我试图将其与多处理相关联。以下是我到目前为止从我找到的各种网站中挖掘出的......
%ROWTYPE
所以我在我的网址上开启了openurl功能,但是如果我打破"打印'现在是什么'"""'& 。
我如何进行民意调查?我的线程并在结果进入时返回结果?
谢谢!
答案 0 :(得分:0)
pool.map
将可迭代元素分布在工作池上,并在结果准备就绪时聚合结果。
此外,pool.close
和pool.join
指示池等待所有任务完成。
如果您想要处理结果,则必须使用pool.apply_async
并使用回调。或者你可以收集pool.apply_async
返回的AsyncResult个对象并迭代它们以查看每个对象何时准备就绪,但整个逻辑会非常繁琐。
from multiprocessing.pool import ThreadPool
pool = ThreadPool(20)
tasks = []
def callback(result):
# handle the result of your function here
print result
for url in urls:
pool.apply_async(openurl, args=[url], callback=callback)
pool.close()
pool.join()