我尝试在stackoverflow上查看类似的答案来解决问题,但我的情况略有不同。
我正在使用Airflow CLI执行回溯作业,回溯dag运行状态一直卡在运行中,而dag中的第一个任务处于排队(灰色)状态。
调度程序似乎永远不会启动第一个任务。
我没有将depends_on_past=True
设置为dag_defaults。
dag_defaults = {
"start_date": datetime.today() - timedelta(days=2),
"on_failure_callback": on_failure_callback,
"provide_context": True
}
我被迫手动运行每个任务。 :( 而不是让调度程序按其课程自动运行它们。
注意: 我正在通过K8S集群上的Airflow工作器Pod执行backfill cli命令。
有没有其他人在使用backfill cli命令时遇到类似的问题?
更新: 我意识到我的backfill运行超出了总dag间隔。即在dag
start_date
之前导致阻塞的计划依赖关系。
虽然您仍然可以创建运行,但它不会自动运行,但您可以手动运行每个任务。
作为解决方法,需要将start_date
更改为在我的最旧回填日期之前或之前。
如果存在一种方法可以覆盖backfill cmd或提供一个--force选项,该选项可以为该特定dag_run模拟start_date,而不是绑定到总间隔,则很好。
回溯命令将重新运行dag_id的所有实例,在开始日期和结束日期内的所有间隔内。
- Rogan88