示例:我有200 000 users
,必须在注册后通过30 day
收费。他们都有不同的注册日期。因此,每个用户的收费日期都不同。
在谷歌搜索之后,我发现这个库Node Schedule可以在特定时间触发函数。我为注册用户设置了每个用户的付款日期。例如,用户在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
,依此类推...
所以我对表现有所怀疑。有没有更好的方法来实现每月订阅?我对用户收费的方式是普遍使用还是必须有更有效的方式?
答案 0 :(得分:2)
让“一个”计划每天运行一次,选择需要收费的用户,然后收费。