Воздушный поток: вызвать метку из другой метки в другом узле? - PullRequest
0 голосов
/ 12 июня 2019

У нас есть 2 разных узла, на которых выполняются разные пакеты Airflow.

У нас есть controller_dag (тот, который должен вызывать целевой тег) в одном узле и target_dag в другом узле.

Мы смогли запустить target_dags из controller_dags в том же узле.

Можно ли вызвать target_dag в одном узле из другого controller_dag в другом узле?

Не могли бы вы привести пример

1 Ответ

0 голосов
/ 13 июня 2019

Я нашел ответы на свои вопросы

Да, можно вызвать target_dag в одном узле из другого controller_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
)

экспериментальный воздушный поток

...