我可以使用气流标签来确定具有特定标签的所有 DAG 是否已完成运行吗?

问题描述 投票:0回答:1

我有许多相互未连接的单独 DAG。 “连接”它们的一件事是它们被标记为

US_TAG

我正在尝试在所有这些 DAG(带有

US_TAG
)完成运行后运行新任务。我想知道是否可以使用
US_TAG
来做/知道?

非常感谢任何信息。

airflow airflow-taskflow
1个回答
0
投票

根据我的理解,你不能使用标签来描述 DAG 之间的依赖关系。标签仅用于任务管理。

如果你想基于DAG2运行DAG1,你应该使用ExternalTaskSensor

定义之前的任务

# Task to be depended
task_to_depend = BashOperator(
    task_id='task_to_depend',
    bash_command='echo "This is the task to depend on."',
    dag=dag,
)

定义依赖于它的新任务

from airflow.sensors.external_task_sensor import ExternalTaskSensor

wait_for_task = ExternalTaskSensor(
    task_id='wait_for_task',
    external_dag_id='dag_to_depend_on',  # depended DAG ID
    external_task_id='task_to_depend',  # depended task ID
    dag=dag,
)

wait_for_task >> some_other_task
© www.soinside.com 2019 - 2024. All rights reserved.