芹菜:列出所有任务,计划,主动*和*完成(Celery: list all tasks, sched

2019-07-31 09:43发布

更新赏金

我想如果可能的话,不涉及一个监控线程,一个解决方案。


我知道我可以使用查看计划作业活动任务Inspect类我的应用程序的Control

i = myapp.control.inspect()

currently_running = i.active()
scheduled = i.scheduled()

但是,我找不到任何功能显示已经完成的任务。 我知道这个信息,每亩至少暂时访问,因为我可以通过它查找完成的任务task_id

>>> r = my task.AsyncResult(task_id=' ... ')
>>> r.state
u'SUCCESS'

我怎样才能得到预定的活动,完成任务的完整列表? 或者可能在一次所有任务的列表?

Answer 1:

芹菜花卉展示的任务(活动, 完成 ,保留等)的实时性。 它能够通过时间,工人和类型来过滤任务。

https://github.com/mher/flower



Answer 2:

不要求监视线程一个选择是芹菜on_success处理程序(使用bootsteps功能在3.1+ ) -这将需要编写相关的信息,以你自己的数据存储。

  • 您需要创建一个自定义任务类来做到这一点。 这ON_FAILURE例子给出了一个主意。

可能是更好的选择,需要更少的代码,是使用task_success信号以类似的方式,记录你以后需要的信息。

该花的选择可能是简单的,因为你要查询已被花维持在任务的完整信息-看到这个答案 。



文章来源: Celery: list all tasks, scheduled, active *and* finished