對不起模糊的標題,但我找不到更好的東西。扭曲的反應堆得到當前狀態
有什麼方法可以使反應堆的當前狀態扭轉? 通過狀態我的意思是:
- 偵聽的端口
- 互聯協議
- Deferreds正在等待被解僱
- LoopingCalls運行
- 主題是 「閒置」
- 和其他「活躍」的東西...
基本上我試圖弄清楚反應堆是否只是坐着。 這個問題本身比我實際需要做的更廣泛,爲了完成stackoverflow。
現在,我目前的情況如下:
我用別人的腳本,就由這個人的腳本選擇很多「動態」端口監聽,所以我不能只是用我的腳本執行listenTCP或TCP4ServerEndpoint之類的操作並檢查它的狀態。 這有點類似於非PASV FTP,每次使用後每個偵聽端口都會被丟棄。 另一個問題是我自己的小程序也運行在同一個進程中,我用它作爲參數來啓動他的程序。這基本上是他的程序的一個接口。當他所有的事情都完成了,我的事情也完成了,我想關閉反應堆。因此,我試圖弄清楚什麼時候可以停止反應堆。 我的確切情況關機如下:
- 只能監聽1端口,而不能監聽其他端口。
- 沒有緩存,也沒有loopingCalls會發射。
我搜索,但只發現像「如reactor.running」或Stop twisted reactor on a condition,需要通過使用標誌保持跟蹤的東西。 我不想碰他的代碼。如果這可能會導致扭曲,我寧願這樣做。 但是,如果已經有其他選擇,我寧願不重新發明輪子。
他的腳本是否需要更改,以便通知腳本這些條件?
感謝標誌符號的答案。 – SleepyMan 2012-08-03 14:10:52
謝謝@Glyph的答案。按習慣進入。我真的不想惹他的代碼因爲我的哲學與他的衝突。但是如何將我的代碼與IService集成在一起?不同的進程通過套接字通信?好吧,無論如何,我會通知他他的劇本需要改變。同時,在實際貢獻之前,我會嘗試更多地瞭解一下扭曲的內部結構(我認爲了解扭曲的哲學是很好的,對吧?)。學習這些東西的唯一方法是閱讀源代碼或將它記錄在某處? – SleepyMan 2012-08-03 14:24:43