Añadir reintentos
Has visto que un Dag en concreto falla a menudo en una tarea que extrae datos de una fuente. Para tu sorpresa, si ejecutas la tarea unos minutos más tarde, el problema se soluciona. Tras aprender sobre la funcionalidad de reintentos en los Dags de Airflow, decides implementar reintentos en esta tarea para no tener que reiniciarla manualmente.
dag, task y timedelta ya están importados.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
- Configura la tarea
extract_datapara que reintente 3 veces antes de fallar. - Añade un retraso de 10 minutos entre reintentos en la tarea
extract_data.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():
# Set retries and retry delay on extract_data
@task(____=3, ____=____(minutes=10))
def extract_data():
print("Extracting data from source...")
@task()
def process_source_data():
print("Now processing data...")
extract_data() >> process_source_data()
etl_pipeline()