根据气流文件:
SubDAGs must have a schedule and be enabled. If the SubDAG’s schedule is set to None or @once, the SubDAG will succeed without having done anything
我知道subdagoperator实际上是作为一个backpllJob实现的,因此我们必须为操作符提供一个schedule_interval
。然而,有没有一种方法可以获得子数据的schedule_interval="@once"
的语义等价物?我担心如果我对子dag使用setschedule_interval="@daily"
,那么如果子dag运行时间超过一天,那么子dag可能会运行多次。在
TLDR:如何伪造“每个父dag的触发器只运行此子dag一次”
尝试对子数据库使用schedule=None的外部触发器模式。在这种情况下,它将只在父dag触发时运行
我找到了
schedule=@once
对我的子表来说很好。也许我的版本已经过时了,但是我的子任务失败的问题比相反的要多。在现在在我的机器上运行得非常愉快的实际示例代码:
事实上,我最初几乎把所有的dag都构建为子dag的美化cfg文件。我不知道经过一番尝试和错误后的想法有多好,但时间间隔对我来说从来都不是阻碍。在
我运行的是一个相对较新的1.8版本,几乎没有定制。我一直在遵循示例dag的建议,即将我的子dag保存在dags文件夹中的一个文件夹中,这样它们就不会出现在DagBag中。在
相关问题 更多 >
编程相关推荐