2017-06-24 136 views
0

我在負載均衡的Elastic Beanstalk環境中運行我的Django應用程序。我想添加芹菜守護進程做以下的事情:與django在同一臺服務器上運行Celery?

  • 將文件上傳到S3在後臺發送成功響應我的Android應用
  • 發送短信給用戶,通知他們有關他們即將推出的EMIS(用芹菜拍)
  • 我的應用程序使用谷歌雲願景的一些功能,這需要10秒來運行,這樣我就可以運行在後臺

現在,我想知道這是否是正確的方式在Django使用Amazon SQS運行的服務器上部署芹菜?如果是的話,我該如何設置?

並且如果Elastic Beanstalk上的多個服務器因芹菜敲打而導致重複任務?

回答

2

從哪裏開始你的芹菜無關緊要:在同一臺服務器上或在單獨的服務器上,兩種方式都是正確的。 重要的是芹菜後端將使用什麼。如果你在所有的畫廊之間使用一些共享的redis或數據庫,那麼任務不會重複,但是如果每一個芹菜都有自己的後端,它就會混亂和災難。

+0

感謝您的回答。我擔心的是芹菜節拍,它旨在檢查屬於該日期的數據庫(AWS RDS實例)中的條目,並根據該條目向其發送通知。我感覺如果芹菜節拍的多個實例正在運行,它會導致重複的通知。我正在使用AWS SQS進行消息排隊, –

+0

如果您在「執行」之後不忘記刪除消息並給出適當的消息「重複時間」,它將與SQS一起工作,並且不會重複消息(我不知道如何它在AWS中正確命名) – vZ10

相關問題