当我运行syncdb时,我注意到很多表创建如下:
django-kombu正在提供传输,因此它无法与实际队列相关联。即使我运行任务,我仍然看不到这些表中没有填充任何内容。这些表用于什么?仅用于监控目的 - 如果我启用它?
如果是这样,如果我查找AsyncResult(),我猜测实际上是通过django-kombu表而不是djcelery来查找任务结果吗?
感谢。
答案 0 :(得分:13)
ceware task_state表由守护进程celerycam填充,仅用于监控目的。
其他表,如“crontabschedule”“interval”等,用于通过使用django后端db来安排周期性任务。当您以节拍模式(-B)启动芹菜以及在设置中设置此变量时,将使用这些表
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
通过这种方式,您可以告诉芹菜使用django db进行计划任务。