赏金更新
如果可能的话,我想要一个不涉及监控线程的解决方案。
我知道我可以使用我的应用Inspect
的{{1}}类来查看预定的和活动任务。
Control
但我找不到任何功能来显示已经完成的任务。我知道这些信息至少可以临时访问,因为我可以通过i = myapp.control.inspect()
currently_running = i.active()
scheduled = i.scheduled()
查找已完成的任务:
task_id
如何获得计划,活动和已完成任务的完整列表?或者可能一次列出所有任务?
答案 0 :(得分:7)
Celery Flower实时显示任务(活动,finished,保留等)。它可以按时间,工人和类型过滤任务。
答案 1 :(得分:1)
不需要监视线程的一个选项是Celery on_success
处理程序(使用bootsteps功能in 3.1+) - 这需要将相关信息写入您自己的数据存储区。
可能更好的选择,需要更少的代码,是以类似的方式使用task_success signal,记录您以后需要的信息。
Flower选项可能更简单,因为您在任务完成时查询Flower已经维护的信息 - 请参阅this answer。