什么是django-celery(djcelery)表?

jgo*_*erg 14 django celery django-celery kombu

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

  • djcelery_crontabschedule
  • ...
  • djcelery_taskstate

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

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

谢谢.

Mau*_*cco 13

由守护进程celerycam填充的celery task_state表仅用于监视目的.

其他表,如"crontabschedule""interval"等,用于通过使用django后端db来调度周期性任务.当您以节拍模式(-B)启动芹菜并且在设置中设置此var时,将使用这些表

CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
Run Code Online (Sandbox Code Playgroud)

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