我正在开展一个项目,我必须在特定日期和时间向用户发送广告系列邮件。
技术:Node,Rethinkdb / Couchdb
请不要建议cron工作。
我想要使用的内容: 我将使用自定义触发器,其中db将通过使用保存的广告系列日期(开始日期和结束日期)检查当前日期来触发事件。如果它与广告系列日期匹配(即开始日期和结束日期之间的当前日期),我将运行nodejs脚本发送邮件。
那么couchdb / rethinkdb为手动触发提供的任何特性/功能是否可以检查db中的值并基于它可以执行脚本?
或者其他任何解决方案?
提前致谢。
答案 0 :(得分:1)
数据库通常不会这样做。 CouchDB肯定没有这个功能。
但是,使用CouchDB,您可以使用_changes提要轻松地构建它:http://docs.couchdb.org/en/2.0.0/api/database/changes.html - 这样您的脚本就可以监听任何数据更新,并根据您定义的任何条件(包括时间)执行操作。
答案 1 :(得分:0)
我找到了解决这个问题的方法。我使用节点计划模块来执行发送邮件的脚本。在这里,我遇到的问题是每当服务器重新启动cron时都会刷新,所以每次服务器重新启动时我都会将它们放入mongodb中。