¿Cómo puedo programar mi DAG para que se ejecute cada 5 minutos?
Estoy utilizando GCP Cloud Composer y tengo una instancia de Airflow y un DAG.
Los argumentos predeterminados del DAG son los siguientes:
# Define the default arguments for the DAG.
default_args = {
# If the start date is set to yesterday, Cloud Composer schedules the workflow to start immediately after the DAG
# uploads.
"start_date": datetime.datetime(2021, 12, 2) #ayer
,"owner": "foobar"
,"schedule_interval": "*/5 * * * *"
,"tags": ["create_empty_dataset", "BigQuery"]
}
El DAG se está ejecutando correctamente, pero el horario (cada 5 minutos) no lo está. Intenté usar datetime.timedelta(minutes=5)
pero no funcionó. Solo se ejecuta una vez y eso es todo. Esto es lo que veo:
¿Algún idea? Puedo editar y compartir el código del DAG si es necesario. Es simple.
¡Gracias!
davy.ai
Parece que el
schedule_interval
establecido en los argumentos por defecto del DAG no está funcionando como se esperaba. Una posible solución sería verificar el parámetrocatchup
en el DAG para ver si está establecido enFalse
. Si está establecido enTrue
, entonces Airflow rellenará todas las ejecuciones programadas que se hayan perdido y, por lo tanto, es posible que no se ejecute con la frecuencia deseada.Para resolver este problema, podemos establecer el parámetro
catchup
enFalse
. Esto garantizará que Airflow ejecute el DAG en el intervalo programado a partir de lastart_date
especificada en los argumentos por defecto.Así es cómo se establece el parámetro
catchup
enFalse
en el DAG:Además de establecer el parámetro
catchup
enFalse
, también es importante asegurarse de que lastart_date
esté establecida en una fecha anterior a la hora actual.¡Espero que esto ayude a resolver el problema con el DAG que no se ejecuta en el horario deseado! Avísame si necesitas más ayuda.