multiprocessing.pool.map
不会为mylist中的每个元素安排所有调用。
在pool.map(partial_load, mylist)
以下的呼叫永远不会返回。
loadData()
。它缺少一些要素。
请记住,此代码在大多数情况下都有效,但是我们看到somtimes pool.map
错过了来自所提供列表mylist的呼叫。
日志中未生成错误。
有什么见识会有所帮助吗?
try:
partial_load = partial(loadData, resultId, cacheDir, trades)
log.info(": Start Scheduling : len=%s " % (len(mylist)))
pool = Pool(poolSize, initializer=xxx, initargs=(someMap,))
pool_results = pool.map(partial_load, mylist)
pool.close()
pool.join()
log.info(": End Load Tweaks : %s " % len(mylist))
log.info(": End Results Size : %s " % len(pool_results))
results = dict(zip(mylist, pool_results))
except Exception as ex:
log.error(": Unknown Exception occurred = %s " % str(ex))
errorInfo = sys.exc_info()
log.error(traceback.extract_tb(errorInfo[2], limit=None))
raise ex