У меня есть относительно простая служба, написанная на python, которая выполняет асинхронные извлечения из подписки pubsub и затем запускает подпроцесс для получаемых сообщений. В настоящее время я просто вызываю result () и блокирую на неопределенный срок и позволяю фоновому потоку управлять всем. Каков наилучший и самый чистый способ обработки сигналов, которые может получить служба? (Например, мне нравится регистрировать запуск и выключение сервиса). Должен ли я просто поймать сигнал и вызвать cancel ()?