multiprocessing.pool.map不会安排所有调用

时间:2018-07-18 16:24:13

标签: python dictionary multiprocessing partial

multiprocessing.pool.map不会为mylist中的每个元素安排所有调用。

pool.map(partial_load, mylist)以下的呼叫永远不会返回。

没有为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

0 个答案:

没有答案