如果我只有任务ID,我能得到芹菜任务的参数吗?

2024-05-03 17:22:57 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我有原始任务,我可以从task.request.args获取参数,但是如果我只有任务ID,有没有办法获取参数?似乎没有办法从AsyncResult对象获取它们,而且据我所知,也没有一种方法可以重新创建任务。在

我想这样做是因为我有一个前端,它可以轮询后端的任务更新,如果它可以显示任务参数,这将是有用的。由于参数存储在代理中,这应该是可能的,至少当任务处于挂起状态时。在

当然,也有其他方法可以做到这一点,但这将是一种干净的方法。在


Tags: 对象方法id代理task参数request状态
1条回答
网友
1楼 · 发布于 2024-05-03 17:22:57

如果任务处于挂起状态或当前正在执行,则可以看到任务的参数。最简单的方法是用芹菜检查法。在

from celery.task.control import inspect
i = inspect()
active_tasks = i.active()
reserved_tasks = i.reserved()
scheduled_tasks = i.scheduled()

您可以对它们进行迭代,通过使用task id,您可以获得如下所示的所有任务详细信息

^{pr2}$

相反,您也可以从代理读取数据,对其进行反序列化,然后您可以获得任务agruments。在

相关问题 更多 >