【问题标题】:What are the django-celery (djcelery) tables for?django-celery (djcelery) 表有什么用?
【发布时间】:2011-05-21 19:40:24
【问题描述】:

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

  • djcelery_crontabschedule
  • ...
  • djcelery_taskstate

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

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

谢谢。

【问题讨论】:

    标签: django celery django-celery kombu


    【解决方案1】:

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

    其他表,如“crontabschedule”、“intervals”等,用于使用 django 后端数据库调度周期性任务。当您以节拍模式 (-B) 启动 celery 以及在设置中设置此 var 时使用这些表

    CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
    

    这样你告诉 celery 使用 django db 来安排任务。

    【讨论】:

    • 如果我运行一个具有 run_every = crontab(hour=1, minute=1) 的定期任务会怎样。它会运行两次吗?
    猜你喜欢
    • 2014-10-05
    • 2018-08-22
    • 2017-10-26
    • 2018-05-02
    • 2014-03-18
    • 2013-08-04
    • 2020-03-21
    • 1970-01-01
    • 2016-08-12
    相关资源
    最近更新 更多