Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取芹菜中失败的任务?_Php_Python_Ubuntu_Celery_Flower - Fatal编程技术网

Php 如何获取芹菜中失败的任务?

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

我用芹菜来处理一些任务。我可以看到有多少是活动的或计划的等,但我无法找到任何方法来查看失败的任务。Flower确实会向我显示状态,但仅当它在任务启动和失败时正在运行。是否有任何命令可以获取所有失败的任务(状态:失败)


创建任务时,我确实有任务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