我是芹菜新手。我知道如何安裝和運行一臺服務器,但我需要將任務分配給多臺機器。 我的項目使用芹菜分配用戶請求傳遞到Web框架到不同的機器,然後返回結果。 我閱讀了文檔,但沒有提到如何設置多臺機器。 我錯過了什麼?如何在不同的機器上設置芹菜工?
40
A
回答
37
我的理解是,您的應用程序會將請求推送到排隊系統(例如rabbitMQ),然後您可以啓動不同機器上的任意數量的工作人員(訪問與提交任務的應用程序相同的代碼)。他們將從消息隊列中挑選任務,然後開始處理它們。一旦完成,他們將更新墓碑數據庫。
這樣做的結果是,您不必爲了啓動多個工作人員而做任何特殊的事情。只需在單獨的相同(源樹)機器上啓動它們。
具有消息隊列的服務器不需要與具有工作者的服務器相同,並且不需要與提交作業的機器相同。您只需將消息隊列的位置放在celeryconfig.py
中,並且所有計算機上的所有工作人員都可以從隊列中提取作業以執行任務。
0
我部署它的方式是這樣的:
- 克隆在Heroku的實例Django項目(這將運行前端)
- 添加RabitMQ作爲添加並配置它
- 克隆你的django項目插入另一個heroku實例(稱之爲worker),你將在其中運行芹菜任務
相關問題
- 1. python芹菜在不同的機器上工作
- 2. 芹菜:如何設置
- 3. Ruby/Resque/Redis:如何在不同的機器上設置工人?
- 4. 在不同的Docker容器中運行芹菜工人的氣流設置?
- 5. 如何使用芹菜配置不同的工作池?
- 6. 芹菜 - 爲不同的隊列設置不同數量的工作人員
- 7. x:設置不在2臺不同的機器上工作?
- 8. 如何設置芹菜回調
- 9. 芹菜多設置不Django的
- 10. 芹菜工不同運行嗎?
- 11. 芹菜關機
- 12. 不同時區的芹菜
- 13. Django頻道如何與芹菜不同?
- 14. 芹菜不採摘CELERY_ALWAYS_EAGER設置
- 15. Django的芹菜不工作
- 16. 芹菜 - 在一臺服務器上運行不同的工作人員
- 17. 設立的Django和芹菜:位置芹菜路徑
- 18. 芹菜工人的優雅關機
- 19. 碼頭工人。芹菜和不同容器中的代碼
- 20. 使用不同的值初始化不同的芹菜工人
- 21. 分配不同的任務,以不同的芹菜工人
- 22. 如何在工具欄中爲不同的片段設置不同的菜單?
- 23. Pinging芹菜工
- 24. 芹菜update_state()不工作
- 25. 芹菜任務不工作
- 26. 多臺計算機上的Django芹菜
- 27. 芹菜配置
- 28. Git:在不同的機器上工作
- 29. 在一臺機器上共享芹菜工作者之間的內存區域
- 30. 如何爲django-芹菜設置後端。我設置CELERY_RESULT_BACKEND,但它不認可
你是對的!但主服務器如何知道所有的工人? – 2012-04-21 17:57:40
「主服務器」是什麼意思? – 2012-04-21 18:07:50
@ I'mTravelerClown我認爲你讓一個主人混淆了分佈式環境 - 奴隸之一。在基於芹菜的環境中沒有主服務器,但有許多節點有工作人員。您可能需要更好地解釋您的問題。 – FlaPer87 2012-04-21 19:14:15