【问题标题】:Django Celery: Admin interface showing zero tasks/workersDjango Celery:显示零任务/工人的管理界面
【发布时间】:2011-07-23 21:05:39
【问题描述】:

我已经使用 Django ORM 作为后端设置了 Celery。试图监视幕后发生的事情。

  • 我已经用 -E 标志启动了 celeryd python manage.py celeryd -E -l INFO -v 1 -f /path/to/celeryd.log

  • 已启动 celerycam,默认快照频率为 1 秒。python mannage.py celerycam

我可以看到正在执行的任务(在 celery 日志中)和正在存储的结果(这些任务会定期更改数据模型)。但是 Django 管理面板中的任务/工作人员页面显示零项。当我启动 celeryev(显示事件/任务/工作人员)时,也会发生同样的事情。

是否需要更改任何其他配置设置才能实现监控?

我的软件堆栈:Django 1.1、Celery 2.2.4、Python 2.4

【问题讨论】:

    标签: celery django-celery


    【解决方案1】:

    事件快照目前不适用于 Django ORM 传输。

    【讨论】:

    • 感谢您的回复。文档中的这个 Django Admin Monitor 是基于非基于数据库的后端?
    • 是的,它目前适用于 RabbitMQ 和 Redis(据我所知,没有尝试过其他的)。
    • 应该可以添加对此的支持。问题在于它非常无效:一个事件就是一个消息,celeryev 对这些消息进行快照并将它们存储在数据库中。但是,如果消息存储在数据库中,则意味着您将相同的数据写入两次。如果我们应该支持这一点,那么 celeryd 应该直接将其写入 djcelery.models.TaskState 模型。
    • 不应该在日志中显示不支持当前配置的内容吗?
    【解决方案2】:

    我不知道这是否会有所帮助,但是您是否尝试运行 ./manage.py celerycam,它会每 1 秒将数据捕获到数据库中,因此您将能够在django 管理界面。

    【讨论】:

      猜你喜欢
      • 2012-06-21
      • 2014-04-26
      • 2017-08-12
      • 2011-10-11
      • 2021-12-12
      • 2012-01-22
      • 2011-01-27
      • 1970-01-01
      • 2013-07-09
      相关资源
      最近更新 更多