2017-12-18 169 views
0

氣流文件,它被提及如下如何在氣流中啓用子標籤?

「Subdags必須有一個時間表,並啓用

即使subdags被觸發作爲一個更大的DAG的一部分,如果他們的日程安排設置爲無或「@一旦「,這個subdag運營商就會成功而不做任何事情」。

但不清楚,我們如何啓用子標籤。有什麼辦法來啓用Subdag嗎?

回答

0

您可以創建這樣一個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') 
)