2013-06-26 16 views
5

セルロービートにこのコマンドを実行すると、セルロービートが正しく動作しません

[2013年6月27日02:17:05936:INFO/MainProcess] Celerybeat:開始しています...

[2013年6月27日02:17:05937:INFO/MainProcess]書き込みエントリ...

[2013-06-27 02:17:08,711:INFO/MainProcess] DatabaseScheduler:スケジュールが変更されました。

[2013年6月27日02:17:08712:INFO/MainProcess]執筆エントリー...

それがこの結果に貼り付けられています。私のsettings.pyではCELERYBEAT_SCHEDULEを設定しました。

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler" 

from datetime import timedelta 

CELERYBEAT_SCHEDULE = { 
    'add-every-30-seconds': { 
    'task': 'celerytest.tasks.add', 
    'schedule': timedelta(seconds=30), 
    'args': (16, 16) 
    }, 

    'add-every-10-seconds': { 
    'task': 'celerytest.tasks.minus', 
    'schedule': timedelta(seconds=10), 
    'args': (20, 16) 
    }, 

} 

セロリのビートには何が問題なのですか?

答えて

14

celery beatコマンドは、​​を開始します。このプロセスは、タスクをスケジュールし、キューに定期的に配置します。タスクを実行しません。

あなたがcelery beatcelery worker(私はあなたがジャンゴ・セロリを使用していると思います)を開始する必要があります。それはセロリビートが送信を続けているということである理由

python manage.py celery worker --beat 
+0

python manage.py celery beat python manage.py celery worker 

それとも単にを@periodic_task(run_every = crontab(day_of_month = '1')) 'に設定されていても、タスクを実行できますか? – user2357067

+1

DatabaseSchedulerを使用している場合、データベースをクリーンアップする必要があります。そうでなければ、 'celerybeat-schedule'ファイル –

+0

を削除できます! btw、私のデータベースをバックアップするセロリの定期的なタスクを使用することはできますか? – user2357067

関連する問題