Debit de aer: de a Crea DAG dintr-un fișier separat

0

Problema

În fluxul de aer, încerc să fac o functie care este dedicat pentru a genera Cotarlele într-un fișier:

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

Apoi, într-un alt dosar încerc să import cainii dintr-un fișier separat:

load_dags.py:

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

Cu toate acestea, cainii nu sunt afișate pe web UI. Dar dacă le fac într-un singur fișier fel de cod de mai jos, se va lucra:

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

Mă întreb de ce o fac în două fișiere separate, nu funcționează.

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

Cel mai bun răspuns

1

Cred că dacă utilizați fluxul de Aer 1.10, apoi DAG dosarele trebuie să conțină DAG și airlfow:

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

Atunci când caută pentru Cânii, debitul de Aer consideră doar python fisiere care contin siruri de caractere "debit de aer" și "DAG" în mod implicit. Să ia în considerare toate fișierele python în schimb, dezactiva DAG_DISCOVERY_SAFE_MODE de configurare de pavilion.

În debit de Aer 2 a fost schimbat (ușor - dag este case-insensitive):

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

Atunci când caută pentru Cânii în interiorul DAG_FOLDER, debitul de Aer consideră doar Python fișiere care conțin șiruri de aer și dag (caz-insensibil) ca o optimizare. Să ia în considerare toate fișierele Python în schimb, dezactiva DAG_DISCOVERY_SAFE_MODE de configurare de pavilion.

Cred că pur și simplu dor de fluxul de aer în load_dags.py. Puteți adăuga oriunde - inclusiv comentarii.

2021-11-21 19:02:47

În alte limbi

Această pagină este în alte limbi

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