爲一些在Linux上,我的Python 2.6的程序時使用的urllib2,httplib的和線程,運行後之後「的名稱解析臨時故障」開始提出這個誤差爲每一個請求:永久運行了幾個小時
<class 'urllib2.URLError'> URLError(gaierror(-3, 'Temporary failure in name resolution'),)
如果我重新啓動程序,它會重新開始工作。我的猜測是某種資源枯竭,但我不知道如何檢查它。我如何診斷和解決問題?
爲一些在Linux上,我的Python 2.6的程序時使用的urllib2,httplib的和線程,運行後之後「的名稱解析臨時故障」開始提出這個誤差爲每一個請求:永久運行了幾個小時
<class 'urllib2.URLError'> URLError(gaierror(-3, 'Temporary failure in name resolution'),)
如果我重新啓動程序,它會重新開始工作。我的猜測是某種資源枯竭,但我不知道如何檢查它。我如何診斷和解決問題?
遇到同樣的問題,在我的情況下,它沒有資源枯竭,我的問題發生在我的DHCP服務器更改名稱服務器地址時,libc不想彈球並重新加載新的resolv.conf文件,緩存一個,迫使我每次更改時重新啓動腳本。
所有我的Python套接字連接嘗試之後這件事上失敗了,所以我發現this code是解決情況:
import ctypes
try:
libc = ctypes.CDLL('libc.so.6')
res_init = getattr(libc, '__res_init')
res_init(None)
except:
pass
調用socket.connect之前使用它,希望這有助於
你早收盤HTTPRequests的(或者你在用什麼)? –
試圖。我只注意到我有大量的CLOSE_WAIT連接必須與問題相關。 – 2371