气流:要在其上运行气流子对象的图案

2024-09-28 01:29:07 发布

您现在位置:Python中文网/ 问答频道 /正文

根据气流文件:

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可能会运行多次。在

^{pr2}$

TLDR:如何伪造“每个父dag的触发器只运行此子dag一次”


Tags: and文件theifhaveenabledbeschedule
2条回答

尝试对子数据库使用schedule=None的外部触发器模式。在这种情况下,它将只在父dag触发时运行

我找到了 schedule=@once对我的子表来说很好。也许我的版本已经过时了,但是我的子任务失败的问题比相反的要多。在

现在在我的机器上运行得非常愉快的实际示例代码:

subdag_name = ".".join((parent_name,child_name))
logging.info(parent_name)
logging.info(subdag_name)
dag_subdag = DAG(
    dag_id=subdag_name,
    default_args=dargs,
    schedule_interval="@once",
)

事实上,我最初几乎把所有的dag都构建为子dag的美化cfg文件。我不知道经过一番尝试和错误后的想法有多好,但时间间隔对我来说从来都不是阻碍。在

我运行的是一个相对较新的1.8版本,几乎没有定制。我一直在遵循示例dag的建议,即将我的子dag保存在dags文件夹中的一个文件夹中,这样它们就不会出现在DagBag中。在

相关问题 更多 >

    热门问题