气流:触发另一个节点中的另一个dag?

时间:2019-06-12 15:06:22

标签: python-2.7 airflow

我们有2个不同的节点运行不同的气流达标。

在一个节点中有一个controller_dag(应该触发目标dag的控制器),在另一个节点中有一个target_dag。

我们已经能够从同一节点中的controller_dags触发target_dags。

是否可以从另一个节点中的另一个controller_dag触发一个节点中的target_dag?

能否请您举个例子?

1 个答案:

答案 0 :(得分:0)

我找到了自己问题的答案

是的,有可能从另一个节点中的另一个controller_dag触发一个节点中的target_dag。

示例:

# Create a python function to trigger a dag using airflow experimental api
def trigger_target_dag(airflow_host_url, **kwargs):
    airflow_url = airflow_host_url + '/api/experimental/dags/target_dag/dag_runs'
    r = requests.post(airflow_url,
                      data=json.dumps({'excution_date':datetime.utcnow().isoformat()})
                     )

# Call the function above using PythonOperator
trigger_target_dag_task = PythonOperator(
    task_id = 'trigger_target_dag',
    python_callable = trigger_target_dag,
    op_kwargs = {'airflow_host_url': airflow_host_url},
    dag = dag
)

airflow experimental api