2014-09-02 20 views
2

我運行芹菜履帶應用(3.1版)的任務和django的(版本1.6.5使用其ORM)。而該命令爲:芹菜總是有3道工序,爲什麼?

celery -A crawlerproj worker -P gevent -c 1000 -l info 

通過在unbuntu使用 'HTOP',I看到芹菜總是有3個過程。還有另外5個mysqldb進程。我不知道爲什麼。芹菜和mysqldb的數量會減少嗎? 感謝您的回答。 我的vps擁有1G內存和1個內核。 以下是htop結果的快照。

http://i.stack.imgur.com/YfdWm.jpg

+0

http://stackoverflow.com/questions/12213665/celery-decrease-number-of-processes? – coldmind 2014-09-02 11:34:03

回答

0

默認情況下,celery開始儘可能多的工作進程,因爲它認爲你的處理器/核心/線程:http://celery.readthedocs.org/en/latest/configuration.html

如果你正在做的主要是I/O,你可以有多個進程,但如果主要受CPU限制,則 會盡量使其接近機器上CPU的數量。如果未設置,則將使用主機上 CPU /內核的數量。

+0

但我的vps只有1個核心。所以你的意思是我的vps有3CPU? – no13bus 2014-09-04 15:13:13

+0

我不知道Celery如何猜測VPS的CPU /內核/線程數量。無論如何,您可以輕鬆更改文檔中顯示的默認設置。 – 2014-09-04 15:17:10

+0

我還有一個問題要問。 http://stackoverflow.com/questions/25955798/can-celerys-beat-tasks-execute-at-timed-intervals – no13bus 2014-09-21 08:23:55