从Airflow的数据库中删除SubDag

时间:2018-06-13 07:12:24

标签: airflow

我在主Dag中创建了4个SubDags,它们将在不同的schedule_interval上运行。我删除了一个SubDag的操作,但它仍然出现在Airflow的数据库中。数据库中的那个条目会执行吗?有没有办法从Airflow的数据库中删除它?

1 个答案:

答案 0 :(得分:0)

记录将保留在数据库中,但是如果DAG实际上不存在于调度程序中(并且工作人员取决于您的执行者),则不能将其添加到DagBag并赢得“DagBag”。运行。

查看调度程序所做的simplified scheduler

def _do_dags(self, dagbag, dags, tis_out):
    """
    Iterates over the dags and schedules and processes them
    """
    for dag in dags:
        self.logger.debug("Scheduling {}".format(dag.dag_id))
        dag = dagbag.get_dag(dag.dag_id)
        if not dag:
            continue
        try:
            self.schedule_dag(dag)
            self.process_dag(dag, tis_out)
            self.manage_slas(dag)
        except Exception as e:
            self.logger.exception(e)

调度程序将在对DagBag进行任何处理之前检查dag是否包含在DagBag中。 DAG的条目保存在数据库中,以保留将来重新添加日期时已处理日期的历史记录。但是对于所有意图和目的,您可以将丢失的DAG视为暂停的DAG。