2013-11-29 48 views
2

我正在做一個簡單的獲取請求,但在10個左右的請求後,它停止工作。 在我的本地和生產服務器上也是如此。一旦發生所有後續Get請求失敗,直到節點重新啓動。節點JS獲取隨機工作

奇怪的是我無法一直重新創建問題。它來來去去。

我知道我幾乎沒有提供任何信息,但我不確定該說什麼。有沒有人有這樣的問題?

    var options = { 
         host: 'localhost', 
         port: 80, 
         path: '/first/second/' + data.uid, 
         agent: false 

        } 
        console.log('just before get'); 
        http.get(options, function(res) { 
         res.on('data', function() {}); 
         io.sockets.emit('load new ' + data.uid, {status: 3}); 
         console.log(res.statusCode); 

        }) 

回答

2

您幾乎肯定會受到內置HTTP代理的每個域連接池限制的影響。請閱讀node.js http module docshyperquest README/rant。您可以通過增加代理的maxSockets選項來調整它。

+0

好吧,讓我們來更精確。添加一個'錯誤'事件處理程序並記錄實際的錯誤。我們需要比「停止工作」更好的東西。目標Web服務器是否記錄任何錯誤? –

+0

同時顯示我們所有的代碼。設置名稱是'maxSockets',所以如果拼錯了它,它將不起作用。 –