CommencerCommencer gratuitement

Ajouter des relances (retries)

Vous avez remarqué qu’un Dag particulier échoue souvent sur une tâche qui extrait des données depuis une source donnée. Frustrant : exécuter la tâche quelques minutes plus tard semble résoudre le problème. Après avoir découvert la fonctionnalité de relance (retry) dans les Dags Airflow, vous décidez de l’implémenter sur cette tâche afin d’éviter de la relancer manuellement.

Les objets dag, task et timedelta sont déjà importés pour vous.

Cet exercice fait partie du cours

Introduction à Apache Airflow en Python

Afficher le cours

Instructions

  • Configurez la tâche extract_data pour qu’elle réessaie 3 fois avant d’échouer.
  • Ajoutez un délai de 10 minutes entre les relances pour la tâche extract_data.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

@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()
Modifier et exécuter le code