必要なのは、定期的に実行したい celery conf witch タスクとその間隔を指定することだけです。
例: tasks.add タスクを 30 秒ごとに実行する
from datetime import timedelta
CELERYBEAT_SCHEDULE = {
"runs-every-30-seconds": {
"task": "tasks.add",
"schedule": timedelta(seconds=30),
"args": (16, 16)
},
}
-B オプションを使用してビートモードでセロリを実行する必要があることに注意してください
manage celeryd -B
時間間隔の代わりに crontab スタイルを使用することもできます。これを確認してください。
http://ask.github.com/celery/userguide/periodic-tasks.html
django-celery を使用している場合は、django db を定期的なタスクのスケジューラとして使用することもできます。このようにして、django-celery 管理パネルから新しい定期的なタスクを簡単に追加できます。そのためには、この方法で settings.py に celerybeat スケジューラーを設定する必要があります
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"