Ajouter des nouvelles tentatives
Vous avez remarqué qu'un certain Dag échoue souvent sur une tâche qui extrait des données d'une source donnée. Frustrant : exécuter la tâche quelques minutes plus tard semble régler le problème. Après avoir appris la fonctionnalité de nouvelles tentatives (retries) dans les Dags Airflow, vous décidez de l'implanter sur cette tâche pour éviter de la relancer manuellement.
Les objets dag, task et timedelta sont déjà importés pour vous.
Cette activité fait partie du cours
Introduction à Apache Airflow en Python
Instructions de l’exercice
- Configurez la tâche
extract_datapour qu'elle effectue 3 nouvelles tentatives avant d'échouer. - Ajoutez un délai de 10 minutes entre les tentatives pour la tâche
extract_data.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
@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()