Node.js многократный асинхронный c запрос с задержкой 10 сек c? - PullRequest
0 голосов
/ 01 апреля 2020

Итак, в настоящее время я бомбардирую API с несколькими запросами с задержкой 10 секунд каждый между последующими запросами, поэтому вот подход, который я применяю для решения задержек и вызовов API.

  try {
    const url = `***********`;
    const response = await axios.get(url);
    if (response.data) {
      for (let user of response.data) {
        if (user.activated === 0) {
          notActivatedUsers.push(user);
          await sendConfirmationEmail(user.email);
          await new Promise(r => setTimeout(r, 10000));
        }
      }
    }
  } catch (error) {
    if (error) {
      throw new Error(error);
    }
  }

Подход отлично работает, как я respecting api call limit.

Мой вопрос больше о scalability & performance, как я слышал о библиотеках, таких как bluebird, lodash, предоставляющих методы, такие как throttle, debounce для решения подобных проблем. Итак, мне просто любопытно узнать другие способы решения подобных проблем, ничего больше, и у меня также есть интуиция, что выполнение API-вызовов для l oop не является хорошей практикой. Я надеюсь, вы понимаете меня сейчас.

Я не знаю, насколько это масштабируемо, если я буду запускать l oop до 20k, будет ли он работать нормально? Поскольку у меня нет огромного набора данных для тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...