Proudění vzduchu: Vytvořit DAG ze samostatného souboru

0

Otázka

Ve vzduchu, snažím se vytvořit funkci, která je určena pro generování Pesy v souboru:

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

Pak v dalším souboru snažím se importovat dags ze samostatného souboru:

load_dags.py:

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

Nicméně, pesy nejsou uvedeny na webovém ROZHRANÍ. Ale když jsem si je v jediném souboru, jak je uvedeno níže kód, to bude fungovat:

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')

Zajímalo by mě, proč to dělat ve dvou samostatných souborech nefunguje.

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

Nejlepší odpověď

1

Myslím si, že pokud používáte proudění Vzduchu 1.10, pak DAG soubory by měly obsahovat DAG a airlfow:

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

Při hledání Pesy, proudění Vzduchu, pouze se domnívá, python soubory, které obsahují řetězce "proudění vzduchu" a "DAG" ve výchozím nastavení. Zvážit všechny python soubory, a místo toho, zakázat DAG_DISCOVERY_SAFE_MODE konfigurace vlajky.

V proudění Vzduchu 2 byl změněn (mírně - dag je case-insensitive):

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

Při hledání DAGs uvnitř DAG_FOLDER, proudění Vzduchu, pouze se domnívá, Python soubory, které obsahují řetězce proudění vzduchu a dag (bez citlivosti na velikost písmen) jako optimalizace. Zvážit všechny Python soubory, a místo toho, zakázat DAG_DISCOVERY_SAFE_MODE konfigurace vlajky.

Myslím si, že prostě chybí proudění vzduchu v load_dags.py. Můžete přidat kdekoli - včetně komentářů.

2021-11-21 19:02:47

V jiných jazycích

Tato stránka je v jiných jazycích

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