我开始使用Celery
并将其与Django
集成,我在这里有最新版本。
Celery
在settings.py
中配置如下:
# Celery settings
BROKER_URL = 'amqp://guest:guest@localhost//'
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
#: Only add pickle to this list if your broker is secured
#: from unwanted access (see userguide/security.html)
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
djcelary
已安装。
现在我要执行以下操作:在Django的数据库中存储已通过celary的所有任务,并通过django admin检查它们
为了达到这个目的,我做了以下工作:
-E
运行Celary以捕获事件python manage.py celarycam
在此之后,当我执行任务时,它们会被添加到数据库管理员。
但这是我的困惑:
celarycam
运行manage.py
,则不会存储任何内容(我在管理员的Tasks
部分的djcelary
表中查找) Celary
并重新开始,然后用之前的task_id
询问结果,我就明白了。所以Celary Django的后端正在某处存储任务,但除非我打开celarycam
,否则我无法在管理员中看到任务。
为了查看我的Django管理员中的所有任务,做什么是正确的?
另外,我可以看到存储在某个地方但celarycam
未捕获的任务吗?
欢迎任何可以解决我的困惑的评论!
答案 0 :(得分:0)
在Celery中,Django backend 不支持远程控制。
Django数据库传输目前不支持:
- 远程控制命令(芹菜事件命令,广播)
- 活动,包括 Django Admin监视器。
- 使用多个工作人员(可能导致多次执行消息)。
Django后端是experimental broker。 它可能是有用的,但它们没有专门的维护者。