Dans la circulation de l'air, je suis en train de faire une fonction qui est dédiée à générer des DAGs dans un fichier:
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
Puis dans un autre fichier que je suis en train d'importer le gcd à partir d'un autre fichier:
load_dags.py:
from dynamic_dag import generate_dag
globals()["Dynamic_DAG_A"] = generate_dag('A')
Cependant, les dags ne sont pas affichés sur l'INTERFACE web. Mais si je les fais dans un seul fichier comme ci-dessous de code, ça marche:
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')
Je me demandais pourquoi le faire dans deux fichiers distincts ne fonctionne pas.