es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flujo de aire: conceptos de fecha de inicio

Estoy trabajando con Airflow y luchando un poco con su concepto de tiempo. De hecho, mi situación es: Me gustaría programar mi DAG como


con DAG(
'MI_DAG',
default_args=default_args,
catchup=False,
schedule_interval='0 0 1,11-20 * *"
#Cada 1er día del mes y cada día entre el 11 y el 20
) como dag:

Según la documentación, Airflow programa tareas al FINAL del intervalo. Así que mi comprensión es como: por ejemplo, un DAG con una programación horaria que comienza a las 8am, ejecutará el primer DAG a las 9am … y la execution_date de ese DAG Run será a las 8am. Entonces a las 9am, se dispara el 8am DAG Run. Podemos pensar en ello como “a las 9am, estoy listo para procesar los datos de las 8 am … así que ejecuta el flujo de trabajo con una fecha de datos de las 8 am”.

Entonces, en mi caso, ¿usando la misma lógica, se activará el primer DAG Run el día 11, verdad? ¿Y en el primer día del próximo mes, Airflow ejecutará el trabajo del día 20 del mes anterior? ¿Estoy en lo correcto, por favor? Si no es así, ¿podrían decirme por qué?

¡¡¡Gracias chicos!!!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, basado en el intervalo de programación 0 0 1,11-20 * *, la primera ejecución del DAG se desencadenará el primer día del mes, y las ejecuciones subsiguientes se desencadenarán cada día entre el 11 y el 20. Y de acuerdo con el comportamiento del programador de Airflow, las tareas serán programadas al final del intervalo. Por lo tanto, la ejecución del DAG desencadenada el 11 de noviembre tendrá una fecha de ejecución del 10 de noviembre, y la ejecución del DAG programada para el 1 de diciembre tendrá una fecha de ejecución del 30 de noviembre. Esto es para asegurarse de que todos los datos hasta el final del intervalo se procesen antes de que se ejecute el DAG.

Comments are closed.