【问题标题】:How to set default value for all dags with DAG cluster policy?如何使用 DAG 集群策略为所有 dag 设置默认值?
【发布时间】:2021-04-20 14:20:22
【问题描述】:

我正在尝试为我的所有 dag 设置两个默认值。为此,我使用以下代码在我的 Airflow 主目录中创建了文件airflow_local_settings.py(尝试遵循https://airflow.apache.org/docs/apache-airflow/stable/concepts.html#dag-level-cluster-policy 中的示例):

def dag_policy(dag: DAG):
    dag.catchup = False
    dag.default_args['email'] = 'blabla'

但是,我得到了错误:

Error: name 'DAG' is not defined

如果我将代码保留为:

def dag_policy(dag: DAG):
        dag.catchup = False
        dag.default_args['email'] = 'blabla'

然后 dags 运行 catchup=True 并且没有电子邮件。我该如何解决?谢谢

【问题讨论】:

  • 集群策略并没有真正充当默认值。您在 Policy 中定义的属性将优先于您在 dag 中定义的属性。还有你正在运行什么气流版本?
  • 我使用 Airflow 1.10.14。也许这仅适用于 2.0?

标签: airflow


【解决方案1】:

DAG 策略已添加到 PR,并且仅在 Airflow >= 2.0 中可用,因为您运行的是 1.10.14,此功能对您不可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-01
    • 1970-01-01
    • 2017-09-10
    • 2022-01-06
    相关资源
    最近更新 更多