我有一些Celery任务,我通过使用任务ID实例化AsyncResult,定期从一个单独的进程检查它们的状态。
从此,我得到了任务状态。通过实现here描述的自定义结果后端和扩展的AsyncResult类,我也能够获得任务名称。但是,我希望能够为每个任务获取一个自定义显示名称 - 这是人类可读的,这样我就可以用户友好的方式显示状态信息。
假设,可能会设置如下:
@app.task()
def my_task(args):
display_name = "My Task"
...
...
然后我会做......
result = ExtendedAsyncResult(task_id)
result.display_name
但是通过查看我链接的自定义结果后端,似乎没有任何方法可以访问任务的局部变量。
有没有办法实现我正在寻找的东西?
答案 0 :(得分:1)
Celery支持任务名称 - 希望这是您正在寻找的:
@app.task(name='My Task')
def my_task(args):
...
...
My Task
现在会出现在您想要的任何地方(例如花)。