Exception handling 如何在python中捕获Joblib/Parallel异常?
我为Exception handling 如何在python中捕获Joblib/Parallel异常?,exception-handling,try-catch,python-multiprocessing,python-multithreading,joblib,Exception Handling,Try Catch,Python Multiprocessing,Python Multithreading,Joblib,我为joblib的并行、延迟的提供了一个用例。我已经包括了一些在特定条件下终止工作者的特性。然而,当我这样做时,我会随机产生JoblibWebdriverException,多处理异常,jobliburlererror,或者只是错误 让我感到非常有趣的是,我没有找到任何关于如何(定义?)/捕获异常的章节 当我这样做时: try: Parallel(delayed(function)) except (JoblibWebdriverException | error
joblib
的并行、延迟的提供了一个用例。我已经包括了一些在特定条件下终止工作者的特性。然而,当我这样做时,我会随机产生JoblibWebdriverException
,多处理异常
,jobliburlererror
,或者只是错误
让我感到非常有趣的是,我没有找到任何关于如何(定义?)/捕获异常的章节
当我这样做时:
try:
Parallel(delayed(function))
except (JoblibWebdriverException | error | 'Multiprocessing exception'):
# written with separate excepts in original code
log_errors()
I产生未定义的名称JoblibWebdriverException
后跟:
---------
Sub-process traceback
---------
Multiprocessing exception:
(trace stack)
在python中使用Parallel时如何捕获未定义的joblib异常?我建议使用concurrent.Futures
,它对异常处理具有强大的支持joblib
因无法从子进程向主线程引发异常而臭名昭著,因为多进程的设置方式不同。我刚才问了这个问题,您推荐的正是我最终要做的事情(更准确地说是ThreadPoolExecutor)。Upvote&accept分享您的想法。您能提供解决此问题的替代方案吗?我无法取代joblib,因为它在sklearn生态系统中根深蒂固。