Мне нужен надежный способ проверить, успешно ли запущен сервер на основе Twisted, запущенный через twistd (и файл TAC). Может произойти сбой, потому что некоторые параметры сети настроены неправильно. Поскольку я не могу получить доступ к журналу twistd (так как он записан в / dev / null, поскольку мне не нужны производимые log-clutter twistd), мне нужно выяснить, был ли сервер успешно запущен в скрипт запуска, который оборачивает вызов twistd.
Этот скрипт запуска представляет собой скрипт Bash, подобный следующему:
#!/usr/bin/bash
twistd \
--pidfile "myservice.pid" \
--logfile "/dev/null" \
--python \
myservice.tac
Все, что я нашел в сети, это хаки, использующие ps или что-то в этом роде . Но мне не нравится такой подход, потому что я думаю, что он ненадежен.
Так что я думаю о том, есть ли способ получить доступ к внутренним компонентам Twisted и получить все запущенные в настоящее время приложения Twisted? Таким образом, я мог бы запросить у запущенных в данный момент приложений имя моего приложения Twisted (как я его назвал в TAC-файле) для запуска.
Я также думаю о том, чтобы не использовать исполняемый файл twistd, а реализовать скрипт запуска на основе Python, который включает в себя содержимое twistd, например , ответ на этот вопрос дает , но я не знаю, это помогает мне получить статус сервера для работы.
Так что мой вопрос заключается в следующем: есть ли надежный, не уродливый способ узнать, был ли Twisted Server, запущенный с twistd, успешно запущен, когда регистрация twistd отключена?