【发布时间】:2017-02-03 03:57:54
【问题描述】:
我正在构建一个 Meteor.js 应用程序,其中事件显示在日历中。
部分功能是应用程序会在活动发生前通过电子邮件自动提醒用户。有一个固定的提醒期(比如 3 天左右),这很容易,但我需要构建一个用户可以选择通知间隔的系统。所以可能是 3 天、7 天、3 小时、24 小时等。
我可以设置一个 cron 作业来搜索事件集合并检查是否为 event date - 3 days > current date,然后 ping 一个通知,但如果每个用户都有自定义间隔,我不确定如何制作这个 cron 作业。
我现在正在考虑处理它的方式是使用两个值保存事件:date 和reminderDate。当事件被保存到数据库时,reminderDate 是根据用户选择的时间间隔计算的。然后,如果他们将提醒设置从 24 小时更新为 1 周,则会执行一项操作,更新他们所有事件的reminderDate。
上述解决方案的问题在于,如果他们在数据库中有数百或数千个事件,那可能是一个非常长的操作,需要相当长的时间才能完成。一定有更好的办法吗?
任何有关如何处理此问题的建议将不胜感激!
【问题讨论】:
标签: javascript meteor cron