python - multiprocessing.Pool apply_async 中的 error_callback 在 Python 2 中?

标签 python python-2.7 python-3.x multiprocessing

multiprocessing.Pool 类的函数 apply_asyncPython 3 中有参数 error_callback。但是 Python 2 中缺少此参数。

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

最佳答案

我还没有尝试过 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,然后相应地处理第二个参数。

关于python - multiprocessing.Pool apply_async 中的 error_callback 在 Python 2 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986885/

相关文章:

python - 如何判断我的 python 程序是否已向 sys.stdout 写入任何内容(在同一程序内)?

python - 如何为自定义组重新定义 QuickFix 类?

python - 如何跟踪 Flask 中 route 每个函数所花费的时间?

python - String.maketrans 用于英语和波斯语数字

mysql - PYTHON/MySQL : Check if Record exist. 如果存在则不插入,如果不存在则插入

python - 如何在Python中将一个字符串分成10个字母?

python - Tkinter Listbox 小部件是否有 "contains"方法

python-3.x - docker run 不工作 : no container created despite making container image

python - 如何拆分字典中的列表以创建一个新列表?

python - 将元素添加到列表与在 python 中设置的时间复杂度