气流:建立达格从一个单独的文件

0

的问题

在空气流通,我想作一个功能专用于生成Dag在文件:

dynamic_dags.py:

def generate_dag(name):
    with DAG(
        dag_id=f'dag_{name}',
        default_args=args,
        start_date=days_ago(2),
        schedule_interval='5 5 * * *',
        tags=['Test'],
        catchup=False
    ) as dag:
        dummy_task=DummyOperator(
            task_id="dynamic_dummy_task",
            dag=dag
        )
    return dag

然后在另一个文件中,我试图进口的dag从一个单独的文件:

load_dags.py:

from dynamic_dag import generate_dag
globals()["Dynamic_DAG_A"] = generate_dag('A')

然而,dag未显示上网的用户界面。 但如果我做了他们在一个单一的文件如下码,它将工作:

def generate_dag(name):
    with DAG(
        dag_id=f'dag_{name}',
        default_args=args,
        start_date=days_ago(2),
        schedule_interval='5 5 * * *',
        tags=['Test'],
        catchup=False
    ) as dag:
        dummy_task=DummyOperator(
            task_id="dynamic_dummy_task",
            dag=dag
        )
    return dag

globals()["Dynamic_DAG_A"] = generate_dag('A')

我想知道为什么做它在两个单独的文件中不起作用。

airflow airflow-scheduler
2021-11-21 00:44:01
1

最好的答案

1

我认为如果使用气流1.10,然后DAG文件应包含 DAG 和airlfow:

https://airflow.apache.org/docs/apache-airflow/1.10.15/concepts.html?highlight=airflowignore#dags

当搜索Dag、气流才认为蟒蛇的文件,包含有符"气流"和"达"默认。 考虑到所有蟒蛇的文件,而不是禁DAG_DISCOVERY_SAFE_MODE配置的标志。

在气流的2它已经发生了变化(略达格是情况不敏感的):

https://airflow.apache.org/docs/apache-airflow/2.2.2/concepts/dags.html

当搜索Dag内DAG_FOLDER、气流才认为蟒蛇文件,这些文件包含的串通风和dag(情况下-还有)作为一个最优化。 考虑到所有蟒蛇的文件,而不是禁DAG_DISCOVERY_SAFE_MODE配置的标志。

我认为你只是想'的气流你的 load_dags.py. 你可以将它添加任何地方-包括评论意见。

2021-11-21 19:02:47

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................