2016-05-24 5 views
2

マルチプロセスプールでは、パラメータ '-c'を使用してワーカープロセスの数を指定できます。次のように表示されます。geventを使用した場合のワーカープロセス数のセルラーコマンドラインパラメータ

celery worker -A celerytasks.celery_worker_init -c 5 --loglevel=info 

しかし、geventプールの場合、パラメータ「-c」を使用してグリーンレット番号を指定します。複数のワーカープロセスをどのように起動できますか?

複数のプロセスを持つワーカーの代わりに複数のウォーカーを起動する必要がある場合は、1つのコマンドでそれを実行できますか?

答えて

2

このコマンドは、5つのプールプロセスを持つ1人のワーカーを実行します。つまり、1人の作業者がその時点で5つのタスクを実行できるようになります。

geventを使用する場合、セロリはこのタスクを実行するためにプリフォークの代わりに緑色のスレッドを使用しますが、read here(これはイベントレットについてですが、同じ概念が適用されます)の意味に注意してください。

あなたは異なるパラメータ(キュー、並行処理)で、複数の労働者を実行したい場合は、celery multi commandを使用する必要があるウ・タント:私はセロリを管理するためにSuperivisoredを使用する場合

celery multi start 3 -c 3 -c:1 10 
celery worker -n [email protected] -c 10 
celery worker -n [email protected] -c 3 
celery worker -n [email protected] -c 3 
+0

だから、私はプロセス番号を指定する必要があります"numprocs"、コマンドラインで直接パラメータを使用する代わりに? – jcyrss

+0

こんにちは、ここであなたがそれを好きではない場合でも、答えを見つける。 http://stackoverflow.com/questions/15558875/running-celeryd-multi-with-supervisor –

+0

私はスーパー管理者の設定ファイルに "numprocs"を使用することになります。私はスーパーバイザーが既にプロセスをデーモン化したコマンドを使うべきではないと思うので、セロリマルチを使いたくない。 – jcyrss

関連する問題