【问题标题】:How to check is RabbitMQ get task from celery如何检查 RabbitMQ 是否从 celery 获取任务
【发布时间】:2013-08-24 14:58:49
【问题描述】:

我将 django-celery 用于运行时间比平时更长的任务。在任务运行之前,客户端一直检查当前任务的结果。问题是如果 celeryd 没有运行或者由于某些错误而终止,检查任务仍然给出结果 PENDING。如果 Worker 有问题,我想将该信息提供给客户端,它应该停止检查任务的状态并且任务应该终止。 我用于检查任务状态的代码是:

res = AsyncResult(task_id)
result = res.status

【问题讨论】:

    标签: django celery django-celery


    【解决方案1】:

    您应该查看 celery Monitoring,特别是查看 Flower: Real-time Celery web-monitor

    【讨论】:

      【解决方案2】:

      我认为您正在寻找以下功能之一:

      djcelery.celery.control.inspect().ping() djcelery.celery.control.inspect().active_queues()

      签出我的示例 django-celery 示例项目: https://github.com/brentpayne/django-celery-example/blob/master/polls/management/commands/worker_count.py

      还有这个芹菜文件: http://docs.celeryproject.org/en/latest/userguide/workers.html#inspecting-workers

      【讨论】:

        猜你喜欢
        • 2013-03-12
        • 1970-01-01
        • 2011-07-18
        • 2011-07-17
        • 2012-04-07
        • 2017-10-29
        • 2015-11-19
        • 2017-10-04
        • 2012-02-20
        相关资源
        最近更新 更多