Celery 任务显示名称

Celery task display name

我有一些 Celery 任务,我通过使用任务 ID 实例化 AsyncResult 从一个单独的进程定期检查它们的状态。

据此,我得到了任务状态。通过实现自定义结果后端和扩展 AsyncResult class,如 here 所述,我也能够获得任务名称。但是,我希望能够为每个任务获得一个自定义显示名称——一些人类可读的名称,以便我可以以用户友好的方式显示状态信息。

假设,它可能设置为:

@app.task()
def my_task(args):
    display_name = "My Task"
    ...
    ...

那以后我会做...

result = ExtendedAsyncResult(task_id)
result.display_name

但是从我链接到的自定义结果后端来看,似乎没有任何方法可以访问任务的局部变量。

有没有办法实现我正在寻找的东西?

Celery 支持任务名称 - 希望这是您要找的:

@app.task(name='My Task')
def my_task(args):
    ...
    ...

现在 My Task 会出现在任何您想要的地方(例如花中)。