Удаление SubDag из базы данных Airflow

Я создал 4 SubDag в основном Dag, которые будут работать с разным schedule_interval. Я удалил операцию одного SubDag, но он все еще отображается в базе данных Airflow. Будет ли выполняться эта запись в базе данных? Есть ли способ удалить это из базы данных Airflow?


person Bhavik Thakkar    schedule 13.06.2018    source источник


Ответы (1)


Запись будет сохраняться в базе данных, однако, если DAG на самом деле не присутствует в планировщике (и рабочих процессов в зависимости от вашего исполнителя), она не может быть добавлена ​​в DagBag и не будет запущена.

Взгляните на этот упрощенный планировщик того, что делает планировщик:

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, прежде чем выполнять какую-либо обработку. Записи для групп обеспечения доступности баз данных хранятся в базе данных, чтобы поддерживать исторические записи о том, какие даты были обработаны, если вы повторно добавите их в будущем. Но во всех смыслах и целях вы можете рассматривать отсутствующую группу обеспечения доступности баз данных как приостановленную группу обеспечения доступности баз данных.

person cwurtz    schedule 13.06.2018