Форум сайта python.su
Добрый день.
Пишу длинный скрипт с использованием asyncio, есть несколько корутин и все такое. Нужно перед закрытием скрипта скинуть в лог данные, чтобы потом восстановиться.
Другими словами, хотелось бы отловить Ctrl-Break, Ctrl-C или же событие закрытия.
Что пробовал: ставить обработчик signal.SIGTERM/SIGINT/и пр - срабатывает не сразу и через раз, пробовал исключение KeyboardInterrupt ловить - та же ерунда.
Проблема в том, что скрипт еще и может под Windows работать, а там все плохо. Чем вы пользуетесь в таком случае?
Спасибо
Офлайн
Какие сигналы не лови, всегда найдутся необрабатываемые состояния - глюки системы, нехватка ресурсов, сосед с перфоратором, который вам кабель перерубит. Почему не сохранять данные перманентно, по ходу работы программы, не дожидаясь завершения процесса?
Отредактировано FishHook (Май 12, 2020 13:13:50)
Офлайн