Должен ли обработчик сигнала быть глобальным в однопоточном процессе - PullRequest
0 голосов
/ 26 марта 2019

Я спрашиваю об этом для приложения Python, но понимаю, что оно вполне может применяться ко многим языкам.

У меня есть однопоточный рабочий, который постоянно работает в Python.Чтобы было понятно, он реализован как одноэлементный класс.Мы бы хотели перехватить SIGTERM и запустить функцию обработчика для корректного отключения соединений и т. Д.

Почти в каждом signal.signal(signalnum, handler) примере (здесь регистрируется обработчик сигнала - https://docs.python.org/3/library/signal.html#signal.signal), который я вижу в Интернетепомещает его в глобальное пространство, а затем так или иначе связывает его с классовым взаимодействием.

Мой вопрос таков: это обязательно лучший метод или я мог бы просто поместить метод регистрации сигналов в конструктор класса итакже поместить обработчик в класс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...