Я создал 4 SubDag в основном Dag, которые будут работать с разным schedule_interval. Я удалил операцию одного SubDag, но он все еще отображается в базе данных Airflow. Будет ли выполняться эта запись в базе данных? Есть ли способ удалить это из базы данных Airflow?
Удаление SubDag из базы данных Airflow
Ответы (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