首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确配置djcelery结果后台到数据库

如何正确配置djcelery结果后台到数据库
EN

Stack Overflow用户
提问于 2012-05-20 19:25:14
回答 3查看 11.6K关注 0票数 10

我正在尝试设置djangocelery在数据库中存储任务结果。

我设置了:

代码语言:javascript
复制
CELERY_RESULT_BACKEND = 'djcelery.backends.database.DatabaseBackend'

然后我同步并迁移了数据库(没有错误)。

Celery正在工作,任务也得到了处理(我可以得到结果),但admin显示没有任务。数据库中有两个表celery_taskmetadjcelery_taskmeta。第一个是保存结果,第二个是在管理中显示。有谁知道如何正确配置它吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-20 21:48:06

检查the doc,当您使用djcelery时,设置CELERY_RESULT_BACKEND="database",或者甚至不要费心编写这行代码,因为djcelery默认设置它。

结果存储在celery_taskmeta表中,请自行向管理员注册djcelery.models.TaskMeta

代码语言:javascript
复制
# in some admin.py, which is contained by an app after `djcelery` in `INSTALLED_APPS`
# or directly in djcelery/admin.py

from djcelery.models import TaskMeta
class TaskMetaAdmin(admin.ModelAdmin):
    readonly_fields = ('result',)    
admin.site.register(TaskMeta, TaskMetaAdmin)
票数 19
EN

Stack Overflow用户

发布于 2013-08-03 16:11:35

与正确答案相关的问题是here

实际上,你应该运行

代码语言:javascript
复制
python manage.py celery worker -E

代码语言:javascript
复制
python manage.py celerycam

之后,任务结果将显示在admin中(Djcelery > Tasks)

票数 10
EN

Stack Overflow用户

发布于 2015-01-13 11:45:30

移动配置更新,例如

app.conf.update(CELERY_RESULT_BACKEND='djcelery.backends.database.DatabaseBackend')

在文件的末尾,celery.py为我做了这件事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10672987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档