Python 如何检索带有参数的挂起和正在执行的芹菜任务?

Python 如何检索带有参数的挂起和正在执行的芹菜任务?,python,celery,Python,Celery,在芹菜文档中,有检查执行任务的功能: 您可以使用active()获取活动任务的列表: 但是这个调用只返回参数的表示,这些参数是通过repr()获得的。有没有办法获得序列化的任务参数?你有多愿意破解核心芹菜代码?通过.active()返回的表示最终通过以下代码实现: 并根据请求在此处设置: 您可以修改这些函数以返回所需对象的任何表示形式。。。当然,这样做可能会破坏其他东西 此外,@economy对可能评估报告发表了很好的评论。这一切都取决于你的主要目标。好的,我将把这个作为一个答案。希望这能解决

在芹菜文档中,有检查执行任务的功能:

您可以使用active()获取活动任务的列表:


但是这个调用只返回参数的表示,这些参数是通过
repr()
获得的。有没有办法获得序列化的任务参数?

你有多愿意破解核心芹菜代码?通过.active()返回的表示最终通过以下代码实现:

并根据请求在此处设置:

您可以修改这些函数以返回所需对象的任何表示形式。。。当然,这样做可能会破坏其他东西


此外,@economy对可能评估报告发表了很好的评论。这一切都取决于你的主要目标。

好的,我将把这个作为一个答案。希望这能解决你的问题

芹菜为args提供了一根绳子。要处理它并获取列表,请执行以下操作:

args = '(5,6,7,8)' # from celery status

as_list = list(eval(args))
当然,
eval()

import ast

args = '(5,6,7,8)' # from celery status

as_list = list(ast.literal_eval(args))
这就是我在工作流中处理芹菜参数解析的方式。这是一种痛苦。

eval()
args
的值上返回一个元组
import ast

args = '(5,6,7,8)' # from celery status

as_list = list(ast.literal_eval(args))