如何检查RabbitMQ从芹菜中获取任务

时间:2013-08-24 14:58:49

标签: django celery django-celery

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

res = AsyncResult(task_id)
result = res.status

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我认为您正在寻找其中一项功能:

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