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
Instructions
- Configurez la tâche
extract_datapour 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()