Airflow: बनाने डेग से एक अलग फाइल

0

सवाल

में airflow, मैं कोशिश कर रहा हूँ बनाने के लिए एक समारोह के लिए समर्पित है कि उत्पन्न DAGs एक फ़ाइल में:

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

फिर एक और फाइल में मैं कोशिश कर रहा हूँ करने के लिए आयात dags से एक अलग फ़ाइल:

load_dags.py:

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

हालांकि, dags दिखाया नहीं कर रहे हैं पर वेब यूआई । लेकिन अगर मैं उन्हें एक एकल फाइल के रूप में नीचे दिए गए कोड में, यह काम करेगा:

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

मुझे लगता है कि अगर आप का उपयोग कर रहे हैं Airflow 1.10 है, तो डेग फ़ाइलें शामिल करना चाहिए DAG और airlfow:

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

जब खोज के लिए DAGs, Airflow केवल समझता है अजगर फ़ाइलें होते हैं कि तार "airflow" और "DAG" डिफ़ॉल्ट रूप से । पर विचार करने के लिए सभी अजगर फ़ाइलें इसके बजाय, निष्क्रिय DAG_DISCOVERY_SAFE_MODE कॉन्फ़िगरेशन ध्वज.

में Airflow 2 यह बदल गया है (थोड़ा - डेग केस-संवेदी है):

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

जब खोज के लिए DAGs के अंदर DAG_FOLDER, Airflow केवल समझता है अजगर फ़ाइलें होते हैं कि तार airflow और डेग (केस-insensitively विचार है) के रूप में एक अनुकूलन । पर विचार करने के लिए सभी अजगर फ़ाइलें इसके बजाय, निष्क्रिय 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ý
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में