maximkv25
@maximkv25
web-developer

Как в node js выполнить одновременно 500 запросов?

Можно ли в node js запустить параллельно 50 функций, но с небольшим интервалом которые будут производить запросы?

Например есть ф-ция
function getStatistic() {
	request.get({
		url: 'http://*******/api/v1/statistics',
		time: true
	}, function (err, response, body){
		console.log('Request time in ms', response.elapsedTime);
		console.log('Request status code', response.statusCode);
		var info = JSON.parse(body);
		console.log('Request body ', info);
	});

}


Нужно выполнять ее с интервалом в диапазоне 100-500 мс, getStatistic будет содержать до 50 запросов.
Так же будет логирование, чтобы не блокировалось выполнение.
Подскажите, как правильно организовать?
  • Вопрос задан
  • 961 просмотр
Решения вопроса 1
yellow79
@yellow79
Senior Software Engineer
Я бы использовал библиотеку async, там есть много интересного, но именно вам должно помочь это https://caolan.github.io/async/docs.html#times
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
day90
@day90
Здесь можно поступить таким способом:
Использовать setInterval. В котором считать каждое выполнение и по достижению 500 делать clearInterval.

Вы сможете сделать временной интервал и ограничить количество запросов. Если будут сложности пишите, набросаю пример.
Ответ написан
mak_ufo
@mak_ufo
Возможно, стоит взять kue. Там можно ограничить число параллельных задач. Либо найти библиотеку, которая реализует возможности семафоров
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы