DJCelery
没有将任务结果存储在我的Django
SQLite
数据库中。
我有一个现有的 Django 项目,我已经开始在上面设置带有 RabbitMQ 的 Celery。我启动了我的 RabbitMQ 服务器。我可以运行 Celerypython 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
. 我添加CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend'
到我的 settings.py 文件的末尾。
当我运行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,但默认为没有结果。我也尝试过 put'database'
而不是,'djcelery.backends.database:DatabaseBackend'
但这表明它正在尝试使用sqlalchemy
而不是djcelery
.
当我运行时,python manage.py runserver
我可以看到一个DJCELERY
带有表格Crontabs
、Intervals
、Periodic tasks
、Tasks
和的部分Workers
。我的任务中没有任何数据。
谁能指出可能有什么问题或遗漏?感谢您的时间。