我每50毫秒发送一个请求(即每秒20个请求)来获取网站的Body,但是在执行20到30秒后,每个请求都会出现ETIMEDOUT错误。我已经设置了process.env.UV_THREADPOOL_SIZE = 128;
我尝试将THREADPOOL_SIZE设置为大于128的值。
for(let i in urls) {
setTimeout(function() {
getBody(i); //It is function with a request
},50*i);
}
request({
url:url,
method:'GET',
timeout:3000,
headers: {
'Accept': '*/*',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'
}},
(err,res) => {
包: request
请帮我,我想在一秒钟内发送大量请求。
getBody
,我们需要看到你是如何发出请求的,使用了哪个模块,传递了什么参数,请求的超时时间是多少。有多种原因可能导致你遇到了这个错误。同时展示堆栈跟踪,因为它可能是连接超时或读取超时。 - Marcos Casagrande