Created
June 22, 2020 19:12
-
-
Save iht/bbb81c28e6139a1d9b9a5074274ab946 to your computer and use it in GitHub Desktop.
The child master DAG, that executes tasks only when both parent DAGs are completed successfully
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Trigger Dags #1 and #2 and do something if they succeed.""" | |
from airflow import DAG | |
from airflow.operators.sensors import ExternalTaskSensor | |
from airflow.operators.dummy_operator import DummyOperator | |
from airflow.utils.dates import days_ago | |
with DAG( | |
'master_dag', | |
schedule_interval='*/1 * * * *', # Every 1 minute | |
start_date=days_ago(0), | |
catchup=False) as dag: | |
def greeting(): | |
"""Just check that the DAG is started in the log.""" | |
import logging | |
logging.info('Hello World from DAG MASTER') | |
externalsensor1 = ExternalTaskSensor( | |
task_id='dag_1_completed_status', | |
external_dag_id='dag_1', | |
external_task_id=None, # wait for whole DAG to complete | |
check_existence=True, | |
timeout=120) | |
externalsensor2 = ExternalTaskSensor( | |
task_id='dag_2_completed_status', | |
external_dag_id='dag_2', | |
external_task_id=None, # wait for whole DAG to complete | |
check_existence=True, | |
timeout=120) | |
goodbye_dummy = DummyOperator(task_id='goodbye_master') | |
[externalsensor1, externalsensor2] >> goodbye_dummy |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment