Ausnahme im Multiprocessing-Pool wurde nicht erkannt

Scheint es, dass wenn eine exception ausgelöst von einem multiprocessing.Pool Prozess, es gibt keine stack-trace oder ein anderer Hinweis darauf, dass es fehlgeschlagen ist. Beispiel:

from multiprocessing import Pool 

def go():
    print(1)
    raise Exception()
    print(2)

p = Pool()
p.apply_async(go)
p.close()
p.join()

Drucke 1 und hält still. Interessanterweise, das eine BaseException stattdessen funktioniert. Gibt es eine Möglichkeit, um das Verhalten für alle Ausnahmen, die gleichen wie BaseException?

InformationsquelleAutor der Frage Rob Lourens | 2011-07-18

Schreibe einen Kommentar