在multiprocessing中有error_callback。在Python 2中有池apply_async吗?

发布于 2021-01-29 14:56:09

函数apply_asyncmultiprocessing.Pool类有争论error_callbackPython 3中 。但是
Python 2中 缺少此参数。

是否有任何技巧可以在Python 2中实现相同的功能?理想情况下,我想编写可在Python 2和3中运行的代码。

关注者
0
被浏览
95
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我还没有尝试过python3。但是对我来说,为了捕获子进程中的错误,我将在子进程中运行的函数放在

    import traceback
    
    
    try:
        your code that can make error
    except Exception as e:
        print e
        return False, traceback.format_exc()
    else:
        return True, result
    

    这样我就知道是否出了问题。

    编辑:我将返回格式更改为OP的注释,以便子进程返回一个元组 (is_success, result or error traceback message )

    这样该主进程将首先读取该标志is_success,然后相应地处理第二个参数。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看