Django对象和多处理

时间:2014-09-18 23:15:21

标签: python django django-models multiprocessing

我试图尽快提取大量信息,并提供以下代码来协助:

pool = Pool()
products = Post.objects.filter(affiliate_product_url=None)
res = pool.map_async(get_info, products)
w = res.get()
pool.close()

跑步时返回

File "<console>", line 1, in <module>
File "scripts/image_affiliate_pull.py", line 113, in <module>
    w = res.get()
File "C:\Python27\lib\multiprocessing\pool.py", line 558, in get
    raise self._value
TypeError: expected string or Unicode object, NoneType found

从我的搜索中,这可能与酸洗有关?我最好怎样才能让它发挥作用?解释为什么它以这种方式工作也是非常宝贵的:D

1 个答案:

答案 0 :(得分:1)

如果获取回溯是一个问题,那么为了调试,您可以使用multiprocessing.pool.ThreadPool而不是常规进程池。 它具有完全相同的接口,只有你没有在进程之间传递回溯的问题。

可能需要注意 - 不确定线程​​如何在Web服务器内运行。