我有以下代码:
pool = Pool(10)
pool.map(run_update_procedure, titles_to_update)
有时pool.map
仅适用于上述20 titles
中的大约18个。这会导致程序挂起。
有没有办法做类似的事情:
try:
pool.map(...)
如果地图失败,该功能会继续吗?我如何将此异常处理构建到多处理?
基本上,如果线程在x
时间内没有完成,我想杀死它。
答案 0 :(得分:3)
我的建议是(最好)修复run_update_procedure
超时或其他行为更好(here's可能有帮助的潜在代码段),而不是挂起,或切换到multiprocessing.Pool
的{{1}}或apply_async
,并向map_async
提供timeout
参数。
示例:
AsyncResult.get()