Celery 监控与数据库代理不兼容
我正在使用django-celery,把数据库当作消息中介和结果存储。事件正在被处理,但监控工具(celerycam或celeryev)却没有工作。
我的settings.py
文件里包含了
import djcelery
djcelery.setup_loader()
BROKER_BACKEND = "django"
CELERY_IMPORTS = (
"cbridge.tasks",
)
INSTALLED_APPS += [
'djcelery',
'djkombu',
]
这已经足够让manage.py celeryd
从cbridge.tasks
中处理任务,这些任务可以从任何地方插入到队列中,有时会把结果返回给启动任务的线程。(关于“有时”我暂时不讨论。)所以系统已经设置好了,可以实际运行任务,这很好,但……
我的问题是,如何才能监控这些任务呢?在djcelery_
的表里什么都没有显示。
我运行manage.py celerycam
或manage.py celeryev
,它们启动得很好,但从来没有任何动作。我猜可能还有更多的配置变量需要设置。但它们是什么呢?我尝试设置了
CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = "mysql://root:@localhost/cbridge"
但没有任何变化。我本来期待celeryev
和celerycam
能读取和celeryd相同的配置设置。那为什么它们不能呢?