簡體   English   中英

多個芹菜遠程工作者

[英]Multiple Celery Remote workers

這個問題涉及在不同的機器上使用多個遠程芹菜工人。 App的實現可以概念化為:

在此輸入圖像描述

我的應用程序(生產者)將每隔5分鍾向隊列中添加多個任務(比如說50個)(想象一個python for循環遍歷要以每隔5分鍾的間隔異步執行的任務列表)。 我希望芹菜工人(這將是遠程機器)在推動后立即選擇這些任務。

我的問題是Celery / RabbitMQ會自動處理任務分配(因此沒有工作人員從隊列中選擇一個已經被工作人員接收的任務 - 即確保工作不重復)並均勻分配任務,這樣就不會留下任何工人在其他工作人員正在努力工作或者在設置中必須配置/編程這些時,他們會徘徊嗎?*

如果有人可以轉發相關文檔(我正在查看Celery文檔,但在這種情況下找不到關於遠程芹菜工人的具體信息,我將非常感激。)

自動但你需要知道這里描述的預取功能: http//docs.celeryproject.org/en/latest/userguide/optimizing.html#prefetch-limits ,閱讀直到頁面結束。

簡而言之,預取工作分為兩個層次:工作者級別和流程級別,因為工作者可能有多個進程。 要在工作人員級別禁用預取,您需要在celery設置中指定worker_prefetch_multiplier = 1 ,以在進程級別禁用您需要在worker的命令行中指定-Ofair選項。

因此,在挖掘RabbitMQ文檔之后,似乎默認的交換方法是Direct Exchange(參考https://www.rabbitmq.com/tutorials/amqp-concepts.html ),這意味着任務將在一輪中分配給工作人員 -羅賓的態度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM