我正在使用BranchPythonOperator在气流中进行分支。我的用例是我需要从主流中划分出两个分支。当存在somefile.csv时,将遵循分支A(任务很少),否则将遵循分支B(无任务)。最后,两个分支机构应合并以再次成为主流。 现在,我可以跟随分支A或分支B,但是问题是我是否遵循分支B执行的最终主流任务,以及是否遵循分支A的最终主流任务。
MainstreamTaskA.setDownStream(MainstreamTaskB)
MainstreamTaskB.setDownStream(BranchATaskA)
BranchATaskA.setDownStream(MainstreamTaskC)
MainstreamTaskB.setDownStream(MainstreamTaskC)
我在MainstreamTaskB和MainstreamTaskC中将触发规则设置为“ all_done”。
有人可以引导我做这个吗?
答案 0 :(得分:0)
我在您的依赖项中看不到另一个分支。唯一的分支是BranchATaskA
。
但是根据您提到的内容,您应该具有以下任务依赖性,并具有两个分支任务BranchATaskA
和BranchATaskB
。
MainstreamTaskA >> MainstreamTaskB
MainstreamTaskB >> BranchATaskA >> MainstreamTaskC
MainstreamTaskB >> BranchATaskB >> MainstreamTaskC
您应该在all_done
上将触发规则设为MainstreamTaskC
。