Retries toevoegen
Je hebt gemerkt dat één specifieke Dag vaak faalt bij een taak die gegevens uit een bepaalde bron extraheert. Frustrerend genoeg lijkt het uitvoeren van de taak een paar minuten later het probleem op te lossen. Na te hebben geleerd over de retry-functionaliteit in Airflow Dags, besluit je retries op deze taak te implementeren zodat je hem niet meer handmatig hoeft te herstarten.
De dag, task en timedelta zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Introductie tot Apache Airflow in Python
Oefeninstructies
- Stel de taak
extract_datazo in dat hij 3 keer opnieuw probeert voordat hij faalt. - Voeg een vertraging van 10 minuten toe tussen retries voor de taak
extract_data.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
@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()