Airflow 上游任务处于 "none status" 状态,但下游任务已执行
Airflow upstream task in "none status" status, but downstream tasks executed
如截图:
知道为什么会发生这种情况吗?我该如何解决?
--
更新:
它是“none 状态”,而不是我最初解释的“排队”
DAG 运行 发生在 3 月 8 日,最后一次相关提交是在 3 月 1 日。但我找不到相同的 DAG 运行...将继续调查
这不是排队状态。这是 None 状态。
以下情况之一可能会发生这种情况:
- 任务
drop_staging_table_if_exists
是在 create_staging_table
开始后添加到 运行。
- 任务
drop_staging_table_if_exists
以前有一个不同的task_id
。
- 任务
drop_staging_table_if_exists
位于工作流的其他位置,您在 DAG 运行 启动后更改了依赖项。
注意 Airflow 目前不支持 DAG 版本控制(在 AIP-36 DAG Versioning 完成后的未来版本中将支持)这意味着 Airflow 不断重新加载 DAG 结构,因此您所做的更改也会反映出来在过去 运行s - 这是设计使然!这对于您想要回填过去 运行s.
的情况非常有用
无论哪种方式,如果您开始新的 运行 或清除这个特定的 运行,您面临的问题就会得到解决。
如截图:
知道为什么会发生这种情况吗?我该如何解决?
--
更新:
它是“none 状态”,而不是我最初解释的“排队”
DAG 运行 发生在 3 月 8 日,最后一次相关提交是在 3 月 1 日。但我找不到相同的 DAG 运行...将继续调查
这不是排队状态。这是 None 状态。
以下情况之一可能会发生这种情况:
- 任务
drop_staging_table_if_exists
是在create_staging_table
开始后添加到 运行。 - 任务
drop_staging_table_if_exists
以前有一个不同的task_id
。 - 任务
drop_staging_table_if_exists
位于工作流的其他位置,您在 DAG 运行 启动后更改了依赖项。
注意 Airflow 目前不支持 DAG 版本控制(在 AIP-36 DAG Versioning 完成后的未来版本中将支持)这意味着 Airflow 不断重新加载 DAG 结构,因此您所做的更改也会反映出来在过去 运行s - 这是设计使然!这对于您想要回填过去 运行s.
的情况非常有用无论哪种方式,如果您开始新的 运行 或清除这个特定的 运行,您面临的问题就会得到解决。