我需要一種可靠的方法來檢查通過twistd(和TAC文件)啓動的基於Twisted的服務器是否成功啓動。它可能會失敗,因爲某些網絡選項設置錯誤。由於我無法訪問twistd日誌(因爲它被記錄到/ dev/null,因爲我不需要log-clutter twistd產品),所以我需要確定服務器是否在啓動腳本中成功啓動, -呼叫。檢查是否成功啓動了Twistedd Twisted Server
推出腳本是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啓動Twisted Server成功啓動,當twistd日誌記錄被禁用?