Aggiungere i retry
Hai notato che un particolare Dag fallisce spesso in un task che estrae dati da una certa sorgente. Frustrante, perché eseguire il task alcuni minuti dopo sembra risolvere il problema. Dopo aver imparato la funzionalità di retry nei Dag di Airflow, decidi di implementare i retry su questo task per evitare di riavviarlo manualmente.
dag, task e timedelta sono già importati per te.
Questo esercizio fa parte del corso
Introduzione ad Apache Airflow in Python
Istruzioni dell'esercizio
- Imposta il task
extract_dataper riprovare 3 volte prima di fallire. - Aggiungi un'attesa di 10 minuti tra i tentativi di retry per il task
extract_data.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
@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()