2017-07-18 13 views
1

のためのサーバで2人のセロリの労働者を実行して、2人のセロリの労働者がコマンドで起動されます。私は2つのDjangoアプリケーションサーバは、彼らのためにappTwoは をapponeを実行している必要があり2つのDjangoアプリケーション

celery worker -A appone -B --loglevel=INFO 


celery worker -A apptwo -B --loglevel=INFO 

両方のポイントへ同じBROKER_URL =「のRedis:// localhostを:6379」

Redisのデシベル0と1

とセットアップで私は警告やエラーにつながるされ、両方のアプリケーションのログにこれら二つのアプリケーションで構成されたタスクを、見ることができます。

djangoの設定で、セロリがお互いのタスクを妨げずに排他的に動作するように設定できますか?

答えて

1

異なるキューにroute tasksを割り当てることができます。 2つの異なる-Q myqueueXでセロリを起動し、2つのDjangoプロジェクトで異なるCELERY_DEFAULT_QUEUEを使用してください。ここ

@celery.task(queue="myqueue3") 
def some_task(...): 
    pass 

その他のオプション:

あなたはまたして、よりきめの細かい制御を持つことができます

CELERY_DEFAULT_QUEUE = 'myqueue1' 

あなたのセロリの構成に応じて、あなたのDjangoの設定は次のようになりますHow to keep multiple independent celery queues?

関連する問題