2017-12-18 17 views
0

In Airflow Unterlage, wie untenSo aktivieren Sie Subdag im Luftstrom?

„Subdags erwähnt wird, muss einen Zeitplan hat und

Selbst aktiviert sein, obwohl subdags als Teil eines größeren dag ausgelöst werden, wenn ihr Zeitplan oder‚auf None gesetzt ist @ einmal 'wird der Subdag-Operator erfolgreich sein, ohne etwas zu tun ".

Aber nicht klar, wie wir die Subdags aktivieren können. Gibt es eine Möglichkeit, den Subdag zu aktivieren?

Antwort

0

Sie können eine SubDAG wie folgt erstellen:

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') 
) 
Verwandte Themen