En el flujo de aire, estoy tratando de hacer una función que se dedica a generar Dag en un archivo:
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
A continuación, en otro archivo, estoy tratando de importar los dags desde un archivo independiente:
load_dags.py:
from dynamic_dag import generate_dag
globals()["Dynamic_DAG_A"] = generate_dag('A')
Sin embargo, el dag no se muestran en la interfaz de usuario web. Pero si yo los hago en un solo archivo como a continuación el código, va a trabajar:
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')
Me pregunto por qué hacerlo en dos archivos separados no funciona.