Php 如何获取芹菜中失败的任务?
我用芹菜来处理一些任务。我可以看到有多少是活动的或计划的等,但我无法找到任何方法来查看失败的任务。Flower确实会向我显示状态,但仅当它在任务启动和失败时正在运行。是否有任何命令可以获取所有失败的任务(状态:失败)Php 如何获取芹菜中失败的任务?,php,python,ubuntu,celery,flower,Php,Python,Ubuntu,Celery,Flower,我用芹菜来处理一些任务。我可以看到有多少是活动的或计划的等,但我无法找到任何方法来查看失败的任务。Flower确实会向我显示状态,但仅当它在任务启动和失败时正在运行。是否有任何命令可以获取所有失败的任务(状态:失败) 创建任务时,我确实有任务id。但是有数以百万计的人。因此,即使有办法通过任务ID检查,我也无法逐个检查。但是如果有这样的命令,请告诉我。任务ID具有状态和状态属性。因此,您可以通过id获取任务的状态 my_task_id = my_task.delay(foo) my_task_i
创建任务时,我确实有任务id。但是有数以百万计的人。因此,即使有办法通过任务ID检查,我也无法逐个检查。但是如果有这样的命令,请告诉我。
任务ID
具有状态和状态属性。因此,您可以通过id获取任务的状态
my_task_id = my_task.delay(foo)
my_task_id.state
my_task_id.status
给出状态是挂起、已启动、重试、失败还是成功
好的,芹菜只显示活动、计划、保留、撤销的任务,但id不显示失败的任务
由于您拥有所有任务id,因此可以循环查看它们的状态
for task_id in task_id_list:
if task_id.state == 'FAILURE'
print(task_id)
芹菜并不容易找到失败的任务,但(芹菜管理的主要web应用程序)确实简化了这一过程。它保留任务ID的记录,即使任务ID已经完成,并且有一个API让您只查找失败的任务
Flower相当基本的HTTP API包括/API/tasks
——您可以使用/API/tasks?state=FAILURE
仅显示失败的任务,然后解析JSON以提取所需内容。内容与您在web API中获得的内容类似,使用curl
进行原型制作和使用以下内容进行格式化/过滤非常容易:
当然,Flower需要安装和运行
由于您有数百万个已完成的任务,您可能需要在数据存储中捕获失败的任务信息,以实现高效访问—也许Flower会有所帮助。或者,您可以尝试芹菜中的自定义失败处理程序,以捕获刚刚失败的任务信息-请参阅。您不能在重试任务之前将其记录在某个位置吗?
curl -s 'http://localhost:5555/api/tasks?state=FAILURE&limit=5' | jq . | less