【发布时间】:2011-09-27 11:25:16
【问题描述】:
我需要一种可靠的方法来检查通过 twistd(和 TAC 文件)启动的基于 Twisted 的服务器是否成功启动。它可能会失败,因为某些网络选项设置错误。由于我无法访问twistd日志(因为它被记录到/dev/null,因为我不需要log-cluttertwistd产生),我需要确定服务器是否在启动脚本中成功启动扭曲的呼叫。
启动脚本是这样的 Bash 脚本:
#!/usr/bin/bash
twistd \
--pidfile "myservice.pid" \
--logfile "/dev/null" \
--python \
myservice.tac
我在网上找到的都是一些hacks using ps or stuff like that。但我不喜欢这样的方法,因为我认为它不可靠。
所以我正在考虑是否有一种方法可以访问 Twisted 的内部,并获取所有当前正在运行的 Twisted 应用程序?这样我就可以在当前运行的应用程序中查询我的 Twisted 应用程序的名称(正如我在 TAC 文件中命名的那样)以启动。
我也在考虑不使用 twistd 可执行文件,而是实现一个基于 Python 的启动脚本,其中包含 twistd 内容,例如 the answer to this question provides,但我不知道这是否有助于我获得服务器运行。
所以我的问题是:当twistd-logging 被禁用时,是否有一种可靠且不难看的方法来判断一个以twistd 启动的Twisted Server 是否成功启动?
【问题讨论】: