17

manage.py celerybeatタスクを実行しない理由をどのように診断しますか?

次のコマンドを使用して、supervisord を介して celerybeat を実行しています。

/usr/local/myapp/src/manage.py celerybeat --schedule=/tmp/celerybeat-schedule-myapp --pidfile=/tmp/celerybeat-myapp.pid --loglevel=INFO

Supervisord は celerybeat を正常に実行しているように見え、ログ ファイルには次のように表示されます。

[2013-06-12 13:17:12,540: INFO/MainProcess] Celerybeat: Starting...
[2013-06-12 13:17:12,571: WARNING/MainProcess] Reset: Account for new __version__ field
[2013-06-12 13:17:12,571: WARNING/MainProcess] Reset: Account for new tz field
[2013-06-12 13:17:12,572: WARNING/MainProcess] Reset: Account for new utc_enabled field

http://localhost:8000/admin/djcelery/periodictask数分ごとに実行する必要があるいくつかの定期的なタスクが有効になっていることが示されています。ただし、celerybeat のログには、実行中のものが表示されることはありません。これはなぜでしょうか?

4

2 に答える 2

24

celerybeat はタスクをスケジュールするだけで、実行しません。タスクを実行するには、ワーカーも開始する必要があります。ワーカーだけでなくセロリビートも一緒に始められます。私は「celeryd -B」を使用しています

あなたの場合、次のようになります。

/usr/local/myapp/src/manage.pyセロリ ワーカー --beat --schedule=/tmp/celerybeat-schedule-myapp --pidfile=/tmp/celerybeat-myapp.pid --loglevel=INFO

また

/usr/local/myapp/src/manage.py celeryd -B --schedule=/tmp/celerybeat-schedule-myapp --pidfile=/tmp/celerybeat-myapp.pid --loglevel=INFO

于 2013-08-13T13:16:12.380 に答える