要手动触发一个DAG,可以使用以下方法:
airflow trigger_dag
这将触发指定的DAG并立即运行。
from airflow import DAG
from airflow.api.client.local_client import Client
dag_id = 'your_dag_id'
client = Client(None, None)
client.trigger_dag(dag_id=dag_id)
确保将your_dag_id
替换为要手动触发的DAG的实际ID。
在DAG定义中添加一个具有手动触发器的任务,例如使用TriggerDagRunOperator
:
from airflow import DAG
from airflow.operators.dagrun_operator import TriggerDagRunOperator
from datetime import datetime
dag = DAG(
dag_id='your_dag_id',
schedule_interval=None,
start_date=datetime(2022, 1, 1)
)
trigger_dag_task = TriggerDagRunOperator(
task_id='trigger_dag_task',
trigger_dag_id='your_dag_id',
dag=dag
)
这将在DAG运行时添加一个任务,允许您手动触发DAG的运行。
请注意,无论使用哪种方法,确保DAG已经被正确配置和加载到Airflow中。