我正试图从另一个触发一个dag。我使用的是TriggerDagRunOperator
。
我有以下两个问题。
日期1:
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import Dummyoperator
from airflow.operators.python_operator import PythonOperator
from airflow.operators.dagrun_operator import TriggerDagRunOperator
def print_hello():
return 'Hello world!'
dag = DAG('dag_one',description='Simple tutorial DAG',schedule_interval='0/15 * * * *',start_date=datetime(2017,3,20),catchup=False)
dummy_operator = Dummyoperator(task_id='dummy_task',retries=3,dag=dag)
hello_operator = PythonOperator(task_id='hello_task',python_callable=print_hello,dag=dag)
trigger = TriggerDagRunOperator(
task_id="test_trigger_dagrun",trigger_dag_id="dag_two",# Ensure this equals the dag_id of the DAG to trigger
dag=dag,)
dummy_operator >> hello_operator >> trigger
日期2:
from datetime import datetime
from airflow import DAG
from airflow.operators.dummy_operator import Dummyoperator
from airflow.operators.python_operator import PythonOperator
def print_hello():
return 'Hello XYZABC!'
dag = DAG('dag_two',schedule_interval='0 12 * * *',dag=dag)
dummy_operator >> hello_operator
浏览网络服务器,一切似乎都很好并且可以运行(即:dag 1触发dag 2)。 我的问题是如何确定或检查Dag 2实际上是由Dag 1触发的,而不是由于其计划或任何其他手动操作而触发的。 基本上,在哪里可以找到谁触发了Dag或触发了Dag?