開発環境でCelery ( Celery beat )を使用して、 Djangoで定期的にタスクを実行したいと考えています。
アプリ/コア/タスク.py
from celery import task
@task()
def add(x, y):
return x + y
settings.py (関連部分のみ)
import djcelery
from celery.schedules import crontab
from apps.startups.tasks import add
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'development.db',
}
}
djcelery.setup_loader()
CELERY_IMPORTS = ("apps.core.tasks",)
BROKER_URL = 'amqp://guest:guest@localhost:5672/'
CELERYBEAT_SCHEDULE = {
'add-every-day': {
'task': 'apps.core.tasks.add',
'schedule': crontab(hour=11, minute=43),
'args': (16, 16),
},
}
次に、 を実行して、セロリ ビート ワーカーを起動しpython manage.py celery worker --beat
ます。
次に11:43
、セロリプロセスで次のように報告されます。
[2013-08-27 11:43:00,216: WARNING/PoolWorker-5]
/home/username/.virtualenvs/myproject/local/lib/python2.7/site-packages/celery/task/trace.py:341: RuntimeWarning:
Exception raised outside body: ImproperlyConfigured(
'settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.',)
'ENGINE'
設定で自分の値を指定しDATABASES
ていて、プロジェクトのデータベースで問題が発生したことがないので、これは奇妙です。なぜこれが起こっているのか手がかりはありますか?