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