Ita*_*Ita 5 mongodb task-queue node.js kue
我正在使用node.js和mongodb构建一个Web应用程序.我需要添加延迟的工作.例如,在注册后一个月向用户发送电子邮件.我没有找到除Kue之外的延迟作业的现有解决方案,但它使用Redis,我更愿意在将另一个资源添加到我的Web应用程序之前使用我现有的Mongodb.
有没有现成的解决方案?
简短的回答是否定的.到MongoDB没有Kue的端口,也没有任何计划.目前还没有其他开源的热门项目提供类似的功能.而且Redis似乎更适合这种类型的项目.
虽然Kue非常有趣并且提供的不仅仅是延迟任务,但似乎您的要求非常简单.
如果您只需要在注册后一个月向用户发送电子邮件,或者类似的事情,它通常内置于操作系统级别.
我建议你做什么,假设你有一个sendEmail
方法(一般来说,你弄明白了如何完成任务)如下:
sendEmailHandler
将任务计划为每天运行一次.在Windows中,这是通过"Scheduled Tasks"
在OS X,BSD和Linux中完成的,这是使用完成的cron
.(cron教程 | ST教程).大多数PaaS选项也有这种选择(如nodejitsu,Azure ......).MongoDB
您选择使用的情况下,保留一组任务,每个任务都有一个"开始时间".此类任务的一个示例是特定用户在1个月后收到电子邮件.sendEmailHandler
脚本中,检查应运行哪些任务并执行它们,之后您应该从中删除它们MongoDB collection
.虽然这听起来像一些工作,但它不应该花太长时间.这里描述的所有代码都非常简单.
如果我理解正确的话,Kue会让你做一些你不需要的优先级,尝试,进度等等.使用可以执行许多操作的库来执行简单操作可能最终会让您感到困惑,因为通常更难以进行操作和维护.
祝好运!如果您希望我详细说明某个特定部分,请随时告诉我.