Ipython 对平行异常进行沉默或浓缩

Ipython 对平行异常进行沉默或浓缩,ipython,ipython-notebook,Ipython,Ipython Notebook,是否可以对包含并行工作程序上的错误的复合异常的详细信息进行静默处理?我有一个大的集群(500多个worker),如果我的(坏的)代码在所有worker上抛出异常,那么异常将永远无法在IPython笔记本中解析和呈现。我只想对worker错误的细节保持沉默,并从单个worker那里获得一个简单的微小异常和细节,因为其余的在我的使用中往往是相同的 我知道我可以将DirectView切换为指向一个工作程序来测试代码,但我不需要操纵dview,而只需设置一个全局标志来避免巨大的堆栈跟踪。步骤1:问这个问

是否可以对包含并行工作程序上的错误的复合异常的详细信息进行静默处理?我有一个大的集群(500多个worker),如果我的(坏的)代码在所有worker上抛出异常,那么异常将永远无法在IPython笔记本中解析和呈现。我只想对worker错误的细节保持沉默,并从单个worker那里获得一个简单的微小异常和细节,因为其余的在我的使用中往往是相同的

我知道我可以将DirectView切换为指向一个工作程序来测试代码,但我不需要操纵dview,而只需设置一个全局标志来避免巨大的堆栈跟踪。

步骤1:问这个问题 步骤2:结帐

如果您只想看到第一个异常,可以注册一个自定义异常处理程序,该处理程序可以执行以下操作:

from IPython.parallel import error
def only_the_first(self, etype, value, tb, tb_offset=None):
    value.print_traceback(0)

ip = get_ipython()
ip.set_custom_exc((error.CompositeError, ), only_the_first)