![](/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.