Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Stel de taak extract_data zo 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()
Code bewerken en uitvoeren