2017-03-18 86 views
1

這篇文章是在延續與我以前的帖子 - celery how to implement single queue with multiple workers executing in parallel?帶芹菜的eventlet是否並行執行任務?

我實現了芹菜eventlet使用此命令的工作: -

celery -A project worker -P eventlet -l info --concurrency=4 

我可以看到我的任務是獲取移動到活動列表更快(在花中),但我不確定他們是否正在並行執行?我有一個用於生產的4核心服務器,但我沒有同時使用所有內核。

我的問題是: -

我怎麼可以使用所有4個內核並行執行任務?

回答

0

兩個eventlet/GEVENT工人類型提供了在失速並行1。要具有真正的並行任務執行和利用內核,同一臺機器上運行多個實例芹菜的成本併發偉大的解決方案。

我知道這與流行的Linux發行版有什麼不同,因此忽略系統軟件包並從頭開始重新配置好您的配置。系統服務模板是你的朋友。

另一種選擇是使用prefork池運行Celery,您會得到並行性,代價是拖延併發數量的工人。