首页 > 解决方案 > 每次运行都可以在 Airflow 中执行不同数量的任务吗?

问题描述

假设我有动态任务的 DAG。我根据计划时间生成任务。我的 Dag 每小时运行一次,因此每次运行的任务总数都不同。exec_date=2021-04-01 00:00:00 生成 1 个名为 task_1 的任务 exec_date=2021-04-01 01:00:00 生成 2 个名为 task_1、task_2 等的任务。

这样做可以吗?

标签: airflow

解决方案


这不是一个好习惯。文档状态:

预计工作流程大部分是静态的或缓慢变化的。您可以将工作流中的任务结构视为比数据库结构更动态一些。预计 Airflow 工作流程从运行到下一次看起来都相似,这样可以清楚地了解工作单元和连续性。

您可以创建动态任务,但不能在每次运行都更改 DAG 结构时创建。您可以做的是以静态方式生成所有任务,并在执行期间添加传感器/分支以检查任务是否应该运行或被跳过。


推荐阅读