Как обрабатывать сигналы в Python?

Senior
135 просмотров
AFK Offer AI

signal.signal(signal.SIGTERM, handler) — регистрирует обработчик сигнала. SIGTERM — graceful shutdown, SIGINT — Ctrl+C (KeyboardInterrupt). Handler получает номер сигнала и stack frame. Обработчик выполняется в главном потоке. В asyncio: loop.add_signal_handler(). Для graceful shutdown: ловишь SIGTERM, устанавливаешь флаг, ждёшь завершения текущих задач, потом выходишь. SIGKILL нельзя перехватить. На Windows поддержка сигналов ограничена — только SIGTERM, SIGINT, SIGBREAK.

Следующий вопрос

Что такое model_serializer в Pydantic?