我有一个"任务"我的应用程序中的模型(集合),它有截止日期,我希望在任务过期后发送通知。
我应该如何实施"逾期"财产,以便系统可以检测到"过期"在任何时候?
我是否设置了cron作业来检查每一分钟还是有更好的方法?
答案 0 :(得分:0)
我建议您使用synced-cron。它有一个很好的界面,如果你扩展到多个实例,你不必担心每个实例都试图执行任务。以下是如何使用它的示例:
SyncedCron.add({
name: 'Notify users about past-due tasks',
schedule: function(parser) {
// check every two minutes
return parser.recur().on(2).minute();
},
job: function() {
if(Tasks.find(dueAt: {$lte: new Date}).count())
emailUsersAboutPastDueTasks()
}
});
当然,您还希望记录哪些用户已被通知或频率较低,因此您的用户不会受到通知轰炸。