Lägga till återförsök
Du har märkt att en viss DAG ofta misslyckas på en uppgift som hämtar data från en given källa. Frustrerande nog verkar det räcka att köra uppgiften några minuter senare för att lösa problemet. Efter att ha lärt dig om återförsöksfunktionen i Airflow-DAGar bestämmer du dig för att implementera återförsök på den här uppgiften, så att du slipper starta om den manuellt.
dag, task och timedelta är redan importerade åt dig.
Den här övningen är en del av kursen
Introduktion till Apache Airflow i Python
Övningsinstruktioner
- Ställ in uppgiften
extract_dataså att den gör 3 återförsök innan den misslyckas. - Lägg till en fördröjning på 10 minuter mellan återförsöken på uppgiften
extract_data.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
@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()