2014-09-05 15 views
5

Tôi đang sử dụng mô-đun Request để tìm nạp các trang html, nó hoạt động tốt nhưng sau một thời gian tôi gặp lỗi ENOTFOUNDEADDRINFO về một số yêu cầu. Sau khi tìm kiếm trực tuyến, tôi tìm thấy một số vấn đề tương tự (#699, #5488, #697) và những gì tôi hiểu từ đó là tôi có thể không tiêu thụ một số (hoặc tất cả?) Các phản hồi và tại một số điểm ứng dụng kích thước tối đa.Lỗi Nodejs: getaddrinfo ENOTFOUND & EADDRINFO

Tôi không thực sự chắc chắn về tất cả điều đó, nhưng tôi đang suy nghĩ về việc tăng globalAgent.maxSockets (đến 100?) Và luôn luôn tiêu thụ phản hồi bằng cách gọi response.resume() khi bắt đầu yêu cầu gọi lại. Không có bất kỳ điều đó có ý nghĩa ? Hay tôi có thể thoát khỏi đường đua?

Tôi đã xem xét mã của Node để cố gắng hiểu những gì resume() làm nhưng tôi không chắc chắn rằng tôi đã tìm thấy đúng chức năng (#L698).

Cảm ơn sự giúp đỡ của bạn.

+0

bạn có thể mô tả môi trường bạn đang chạy điều này trong? bạn có thấy các triệu chứng tương tự trong môi trường địa phương như bạn nói, AWS, Heroku, vv? – aembke

+0

Tôi không nhớ khi thấy vấn đề đó trên môi trường dev. Các prov env là trên AWS, với nút 0.10.21 –

+0

@ jc-tzn bạn đã tìm thấy một giải pháp? Tôi đang gặp vấn đề tương tự. – shug

Trả lời

0

đề nghị mỗi Kanaka của tôi trả lời câu hỏi của riêng tôi với các giải pháp tôi tìm thấy:

tôi đã làm những gì tôi nói rằng tôi sẽ cố gắng và giải quyết vấn đề (không thực sự chắc chắn lý do tại sao mặc dù). Vì vậy, trước khi khởi tạo máy chủ tôi đặt http.globalAgent.maxSockets = 100https.globalAgent.maxSockets = 100 và mỗi khi tôi sử dụng module yêu cầu tôi thêm này trong callback: if (response) { response.resume(); }

Có lẽ đó sẽ giúp người khác :)

Các vấn đề liên quan