我真的很困惑這裏作爲celery的新手,並希望有一些消息broker作爲rabbitmq芹菜處理任務依賴關係當客戶端(ipython)使用芹菜畫布提交DAG(工作流程)基元,如鏈,和絃和組。假設我有一個DAG,其中A - >(B,C) - > D(鑽石DAG),其中A首先運行,然後B和C並行運行,B和C的輸出將用作在D.誰在芹菜處理任務依賴關係 - rabbitmq
輸入我能夠想出一個DAG即
wf = (A.s(2, 2) | group(B.s(), C.s(25)) | D.s(1000)).delay()
我的理解是:1)客戶端提交DAG 2)芹菜此DAG轉換成消息(通常以JSON)3 )將此消息發送給消息代理4)消息代理對依賴關係有一些想法? (不確定),並基於依賴關係將任務放入隊列中5)已訂閱隊列的工作人員選取任務並執行。
我很困惑,在這裏確定工作人員是誰,以確保工作人員根據依賴性執行任務。芹菜工人有關於依賴性的想法嗎?經紀人有一些有點元數據管理嗎?
這裏的任何輸入將不勝感激。謝謝!
我已經開始研究源代碼。你是否暗示Kombu是理解工作流程的人,知道將什麼消息放入隊列以及接下來要執行什麼? – yguw