在Airflow文档中,如下所述
“Subdags必须有一个时间表并启用
即使将子标记作为较大dag的一部分触发,如果其日程安排设置为None或'@once',则subdag运算符将成功而不执行任何操作“。
但不清楚,我们如何启用Subdags。有没有办法启用Subdag?
答案 0 :(得分:1)
您可以像这样创建一个SubDAG:
from airflow import DAG
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.subdag_operator import SubDagOperator
default_args = {
'email_on_failure': False,
'email_on_retry': False,
'start_date': datetime(2017, 12, 16),
}
schedule_interval = "@daily"
def create_subdag(main_dag, subdag_id):
subdag = DAG('{0}.{1}'.format(main_dag.dag_id, subdag_id),
default_args=default_args)
DummyOperator(
task_id='foo',
dag=subdag)
return subdag
main_dag = DAG(
dag_id='main_dag',
schedule_interval=schedule_interval,
default_args=default_args,
max_active_runs=1
)
my_subdag = SubDagOperator(
task_id='subdag',
dag=main_dag,
retries=3,
subdag=create_subdag(main_dag, 'subdag')
)