Как запустить функцию в определенное время в будущем в node.js? - PullRequest
0 голосов
/ 04 ноября 2018

Пример: у меня есть 200 000 users, который должен быть списан на 30 day после регистрации. У них у всех разная дата регистрации. Таким образом, дата зарядки будет отличаться для каждого пользователя.

После поиска в Google я нашел эту библиотеку Расписание узлов , которая может запускать функцию в определенное время. Я устанавливаю дату оплаты для каждого пользователя в момент регистрации. Например, пользователь зарегистрирован на 17:36, поэтому его дата оплаты будет 17:36 after 30 days.

С node-schedule код выглядит так:

var schedule = require('node-schedule');

schedule.scheduleJob(chargingDateFromDB, () => {
  console.log('The payment is done and new date for charging is set);
});

Таким образом, я полагаю, что узел будет хранить информацию о каждом расписании в оперативной памяти и будет хранить ее в течение 30 days и после оплаты для следующего 30 days и так далее ...

Так что у меня есть сомнения из-за производительности. Есть ли лучший способ реализовать ежемесячную подписку? Является ли мой способ взимания платы с пользователей обычным делом или должен быть более эффективный способ?

1 Ответ

0 голосов
/ 04 ноября 2018

Пусть ОДИН график запускается ежедневно, выбирает пользователей, с которых нужно взимать плату, и взимает плату.

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