什么是django-celery(djcelery)表?

时间:2011-05-21 19:40:24

标签: django celery django-celery kombu

当我运行syncdb时,我注意到很多表创建如下:

  • djcelery_crontabschedule
  • ...
  • djcelery_taskstate

django-kombu正在提供传输,因此它无法与实际队列相关联。即使我运行任务,我仍然看不到这些表中没有填充任何内容。这些表用于什么?仅用于监控目的 - 如果我启用它?

如果是这样,如果我查找AsyncResult(),我猜测实际上是通过django-kombu表而不是djcelery来查找任务结果吗?

感谢。

1 个答案:

答案 0 :(得分:13)

ceware task_state表由守护进程celerycam填充,仅用于监控目的。

其他表,如“crontabschedule”“interval”等,用于通过使用django后端db来安排周期性任务。当您以节拍模式(-B)启动芹菜以及在设置中设置此变量时,将使用这些表

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"

通过这种方式,您可以告诉芹菜使用django db进行计划任务。