Пример: у меня есть 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
и так далее ...
Так что у меня есть сомнения из-за производительности. Есть ли лучший способ реализовать ежемесячную подписку? Является ли мой способ взимания платы с пользователей обычным делом или должен быть более эффективный способ?