Python Glossary English

Python 3.3+faulthandlerфункция

faulthandler.cancel_dump_traceback_later()

дамп по таймеру

Отменяет таймер, заведённый dump_traceback_later(): если код успел, дампа не будет.

Синтаксис

faulthandler.cancel_dump_traceback_later()

Ставьте её в finally: без отмены таймер сработает позже, уже в другом месте программы, и даст ложную тревогу — а с exit=True ещё и убьёт процесс. Таймер у модуля один, так что функция отменяет последний заведённый, аргументов у неё нет. Вызов без активного таймера безопасен.

Примеры

import faulthandler, time
with open('hang.txt', 'w') as f:
    faulthandler.dump_traceback_later(0.1, file=f)
    try:
        total = sum(range(1000))
    finally:
        faulthandler.cancel_dump_traceback_later()
    time.sleep(0.2)
print(repr(open('hang.txt').read()))  # → ''

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности