当前,我有DAG,其中DAG本身定义了计划间隔。我想我也可以为此使用气流变量。我想到的不是变量,而是创建数据库表来存储值并使用PostgresHook(或其他数据库钩子)从表中提取数据以填充DAG的schedule_interval,start_date或default_args。因此,只是想知道这是否有效/可行。我只是认为这可能会导致对气流数据库进行大量不必要的查询。
答案 0 :(得分:1)
更改schedule_interval
可能会很麻烦,特别是如果您有用于检查先前运行成功或设置了wait_for_downstream
的传感器时,尤其如此;确实可以execution_date
来检查数据库状态的任何东西。
它可能有效,您可能会piggy带models.Variable
表,但必须处理数据库负载增加,Web服务器,调度程序的负载时间增加的问题速度会变慢,现在进行任何本地测试/开发都需要您现在同步数据库。
我们使用具有多个分支的版本控制存储库来保持代码分离,这还有助于在将代码推送到Airflow之前强制对代码进行同行审查。