我用BranchPythonOperator在气流中做分支。我的用例是,我需要从主流做两个分支。当somefile.csv出现时,分支A(有少量任务)将被跟随,否则分支B(它没有任务)将跟随。最后,将两个分支合并,使其重新成为主流。现在,我可以跟踪分支A或B分支,但问题是,如果我遵循分支B最终执行的主流任务,如果我遵循分支A,最终的主流任务被跳过。
MainstreamTaskA.setDownStream(MainstreamTaskB)
MainstreamTaskB.setDownStream(BranchATaskA)
BranchATaskA.setDownStream(MainstreamTaskC)
MainstreamTaskB.setDownStream(MainstreamTaskC)我在MainstreamTaskB和MainstreamTaskC中将触发器规则设置为“MainstreamTaskC”。
有人能指引我渡过难关吗?
发布于 2018-11-25 22:31:13
我看不到依赖项中的另一个分支。唯一的分支是BranchATaskA。但是,根据您刚才提到的内容,您应该有以下任务依赖项,并且有两个分支任务-- BranchATaskA和BranchATaskB。
MainstreamTaskA >> MainstreamTaskB
MainstreamTaskB >> BranchATaskA >> MainstreamTaskC
MainstreamTaskB >> BranchATaskB >> MainstreamTaskC您应该将触发器规则作为all_done在MainstreamTaskC上使用。
https://stackoverflow.com/questions/53457824
复制相似问题