![](/img/trans.png)
[英]setTimeout performing before a task in micro task queue (Job queue)
[英]Distributed Task Scheduling, Job Queue
我必须通过电子邮件发送某些任务通知,该通知需要每6小时发送给希望收到该通知的用户。 因此,我已经使用node-cron在服务器上安排了一个作业,该作业每30分钟醒来一次,以检查是否有用户没有响应他们的电子邮件,并使用mysql db和updated_at col进行跟踪。 工作正常!
但是现在我必须使其在分布式环境中工作。 将Elastic Beanstalk与1-4个micro ec2实例一起使用。 我不想添加除我拥有的以外的任何其他数据库/存储/队列(MySQL)。
要添加的是,我的api服务器和worker是相同的。
我遇到了用Python开发的此解决方案: Celery
“ Celery是基于分布式消息传递的异步任务队列/作业队列。它专注于实时操作,但也支持调度。”
可以与多个Python框架(Django,Pylons等)集成: http : //docs.celeryproject.org/en/latest/getting-started/introduction.html#framework-integration
但是您更喜欢Node.js ,因此您也可以将其与其他语言一起使用,并且可以通过HTTP回调(Webhooks)进行集成: http ://docs.celeryproject.org/en/latest/userguide/remote-tasks.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.