【发布时间】:2016-07-06 18:19:25
【问题描述】:
DJCelery 没有在我的Django SQLite DB 中存储任务结果。
我有一个现有的 Django 项目,我已经开始设置带有 RabbitMQ 的 Celery。我启动了我的 RabbitMQ 服务器。我可以运行 Celery python manage.py celeryd --verbosity=2 --loglevel=DEBUG 和 Celerybeat python manage.py celerybeat --verbosity=2 --loglevel=DEBUG。一切都在没有错误的情况下启动,我的定期示例任务也运行没有错误。
我使用pip install django-celery 安装。我在我安装的应用程序中有 djcelery 并运行 python manage.py migrate djcelery。我在 settings.py 文件的末尾添加了CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'。
当我运行python manage.py celeryd --verbosity=2 --loglevel=DEBUG 时,启动文本显示:
...
- ** ---------- .> transport: amqp://guest:**@localhost:5672//
- ** ---------- .> results:
- *** --- * --- .> concurrency: 1 (prefork)
...
结果部分为空白向我表明配置不正确,但我不知道怎么做。我尝试在我的 celery.py 文件中使用 app.conf.update 来设置 CELERY_RESULT_BACKEND 但得到了相同的结果。我省略了 CELERY_RESULT_BACKEND,但默认没有结果。我还尝试使用'database' 而不是'djcelery.backends.database:DatabaseBackend',但这表明它试图使用sqlalchemy 而不是djcelery。
当我运行python manage.py runserver 时,我可以看到DJCELERY 部分包含表Crontabs、Intervals、Periodic tasks、Tasks 和Workers。不过我的任务中没有任何数据。
谁能指出可能有什么问题或遗漏?感谢您的宝贵时间。
【问题讨论】:
标签: django sqlite rabbitmq celery djcelery