要在VSCode中运行Airflow DAG并跳过回填作业执行,您可以按照以下步骤进行操作:
在VSCode中打开Airflow项目的根目录。
创建一个新的Python文件,例如debug.py
。
导入所需的模块和类:
from airflow import DAG
from airflow.utils import dates
from airflow.models import DagBag, TaskInstance
from airflow.executors.local_executor import LocalExecutor
def run_dag(dag_id, execution_date):
dagbag = DagBag()
dag = dagbag.get_dag(dag_id)
tasks = dag.topological_sort()
# 跳过回填作业执行
for task_id in tasks:
task = dag.get_task(task_id)
ti = TaskInstance(task, execution_date)
ti.set_state('skipped')
# 执行DAG
executor = LocalExecutor()
executor.start()
executor.execute(dag=dag, test_mode=True)
debug.py
中调用run_dag
函数并传递DAG ID和执行日期:if __name__ == '__main__':
dag_id = 'your_dag_id'
execution_date = dates.days_ago(1) # 设置执行日期为一天前
run_dag(dag_id, execution_date)
debug.py
文件。通过这种方法,您可以在VSCode中运行Airflow DAG并跳过回填作业的执行。请注意,这只会跳过回填作业的执行,而不会跳过DAG中其他任务的执行。