Python 3.x 跟踪链中当前执行的子任务

Python 3.x 跟踪链中当前执行的子任务,python-3.x,asynchronous,celery,fastapi,Python 3.x,Asynchronous,Celery,Fastapi,我正在开发一个使用芹菜和fastapi的微服务 该工作流将链和弦结合在一起,工作正常 现在,我想设计一个API,它可以判断链下当前正在运行的子任务 task.py @app.task def workflow() workflow = chain(task1.s(), chord([task2.si(), task3.si()], task4.s()), task5.si(),

我正在开发一个使用芹菜和fastapi的微服务

该工作流将链和弦结合在一起,工作正常

现在,我想设计一个API,它可以判断链下当前正在运行的子任务

task.py


@app.task
def workflow()
    workflow = chain(task1.s(), 
                     chord([task2.si(), task3.si()], task4.s()), 
                     task5.si(), 
                     task6.si())
    result = workflow.apply_async()

view.py

def get_state(task_id):
    #suppose task1, task2, task3 are done.
    
    return {"current": task4, "progress": "..."}

我应该如何设计以跟踪每条链的进度?

我读了这篇文章

应用socket.io是个好主意吗?这意味着我必须为每个子任务创建一个套接字通道,并推送状态消息

(我有另一个调度程序服务,用于管理芹菜工人启动工作流并查询状态)

我想知道是否有替代方案