2017-03-02 8 views
4

セロリの作業を開始して1つのコマンドでビートする方法はありますか? Fabricを使用して私の自動展開手順にセロリを追加したいと思います。セロリのワーカーと1つのコマンドでビートの負荷

私は現在実行しています:

celery -A prj beat -l info -S django 

続い

celery -A prj worker -B 

ことしかし、最初のコマンドは、ワーカーを開始しているため(ビートを開始する)次のコマンドを実行することはできません。ワーカーの起動メッセージが表示されます。

起動メッセージが表示されないようにする方法はありますか?あるいは、これらのアクションの両方を1つのコマンドで実行しますか?おそらく、私のDjango設定からこれらを始める方法さえありますか?

ありがとうございます!

答えて

4

セロリは、同じプロセス(主に開発目的で使用)でワーカーとビートを実行することを可能にします。

> celery worker -h 

... 

Embedded Beat Options: 
    -B, --beat   Also run the celery beat periodic task scheduler. Please note that there must only be 
         one instance of this service. .. note:: -B is meant to be used for development 
         purposes. For production environment, you need to start celery beat separately. 
    -s SCHEDULE_FILENAME, --schedule-filename SCHEDULE_FILENAME, --schedule SCHEDULE_FILENAME 
         Path to the schedule database if running with the -B option. Defaults to celerybeat- 
         schedule. The extension ".db" may be appended to the filename. Apply optimization 
         profile. Supported: default, fair 
    --scheduler SCHEDULER 
         Scheduler class to use. Default is celery.beat.PersistentScheduler 

djangoスケジューラの使用を含むので、複合コマンドを、次のようになります。:celery workerのヘルプをチェック

celery -A prj worker --beat --scheduler django --loglevel=info