2016-07-25 2 views
3

У меня есть программа, которая порождает группу рабочих демонов, используя библиотеку многопроцессорности.Как отлаживать тихие сбои? Multiprocessing python

Иногда эти демоны будут спорадически падать и умирать. Это не вызвано исключением на уровне python. Аварии, кажется, полностью бесшумны ...

Может ли кто-нибудь дать советы о том, как я могу отладить эту проблему?

+1

'multiprocessing.log_to_stderr()' –

ответ

0

Библиотека faulthandler может помочь отладить такое поведение. Выполните этот код в каждом процессе run метод для сохранения tracebacks в отдельные файлы:

f = open('fault_%s.log' % multiprocessing.current_process().name, 'w') 
faulthandler.enable(file=f, all_threads=True)