Задать вопрос
@210mev
PHP

Как обработать много запросов?

Добрый день,
Изучаю NodeJS, запутался уже слегка.

Есть API: nginx -> pm2 -> nodejs
Есть сервис который шлет JSON на этот API, от 10 до 100 объектов в секунду в одном запросе.
Как сделать так что бы не пропустить ни один запрос(посылку) при том что надо переслать эти данные на другой сервис?
Вот код
app.post('/apiendpoint', function (request, reply) {

  let arrayOfRequestsToSend = [];

  for (let index = 0; index < request.body.user; index++) {

    if (request.body.user.user_id) {
      let userId = request.body.user.user_id;
      let userName = request.body.user.user_name;
      // что будет если здесь асинхроно записывать в БД userId и userName?
      let requestToSend = axios.get(`http://someservice.com/someendpoint?user_id=${userId}&user_name=${userName}`);
      arrayOfRequestsToSend.push(requestToSend);
    }
  }
  // переслать полученые данные на другой сервис
  if (arrayOfRequestsToSend.length != 0) {
    axios.all(arrayOfRequestsToSend)
      .then(responseArr => {
        console.log(responseArr);
      })
      .catch(errors => {
        console.log(errors);
      });
  }
  reply.send(request.query);
})
  • Вопрос задан
  • 129 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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