我需要一种可靠的方法来检查通过 twistd(和 TAC 文件)启动的基于 Twisted 的服务器是否成功启动。它可能会失败,因为某些网络选项设置错误。由于我无法访问twistd日志(因为它已记录到/dev/null,因为我不需要twistd产生的日志混乱),我需要确定服务器是否在包装的启动脚本中成功启动扭曲的呼叫。
启动脚本是这样的 Bash 脚本:
#!/usr/bin/bash
twistd \
--pidfile "myservice.pid" \
--logfile "/dev/null" \
--python \
myservice.tac
我在网上找到的只是一些使用 ps 或类似东西的黑客。但我不喜欢这样的方法,因为我认为它不可靠。
所以我在考虑是否有一种方法可以访问 Twisted 的内部,并获取所有当前正在运行的 Twisted 应用程序?这样我就可以查询当前正在运行的应用程序以获取我的 Twisted 应用程序的名称(正如我在 TAC 文件中命名的那样)以启动。
我也在考虑不使用twistd可执行文件,而是实现一个包含twistd内容的基于Python的启动脚本,就像这个问题的答案提供的那样,但我不知道这是否有助于我获得状态服务器运行。
所以我的问题只是:当twistd-logging被禁用时,是否有一种可靠的不丑陋的方法来判断一个以twistd启动的Twisted服务器是否成功启动?