2010-06-21 125 views
1

各種連接 - 例如用twisted.web.client.getPage()創建的那些似乎會泄漏 - 它們無限期地掛起,因爲操作系統超時以小時爲單位 - 如果服務器沒有及時響應。延遲退回的時間是已棄用用扭曲關閉連接

如何追蹤已打開的請求,並在扭曲的程序中強制關閉它們? (強制關閉在應用程序邏輯中超時的連接對於製作扭曲的服務器來說很重要;各種反應器對它們允許的打開的文件描述符的數量有不同的限制 - 因此請儘量低於1024!幫助扭曲的用戶保持打開的連接數很好並且修整。)

回答

2

getPage接受timeout參數。如果您爲此傳遞了一個值並且在該秒數內沒有完全接收到響應,則連接將被關閉,並且由getPage返回的Deferred將爲errback。

+0

將測試以查看打開的文件描述符計數停止增長thx! – Will 2010-06-21 12:51:04