Retries hinzufügen
Dir ist aufgefallen, dass ein bestimmter Dag häufig bei einer Aufgabe fehlschlägt, die Daten aus einer Quelle extrahiert. Frustrierenderweise behebt sich das Problem oft, wenn du die Aufgabe ein paar Minuten später erneut ausführst. Nachdem du die Retry-Funktionalität in Airflow-Dags kennengelernt hast, entscheidest du dich, Retries für diese Aufgabe zu implementieren, damit du sie nicht mehr manuell neu starten musst.
dag, task und timedelta sind bereits für dich importiert.
Diese Übung ist Teil des Kurses
<Kurs>Einführung in Apache Airflow mit Python</Kurs>Übungsanweisungen
- Setze die Aufgabe
extract_dataso, dass sie vor einem endgültigen Fehlschlag 3 Mal erneut versucht wird. - Füge eine Verzögerung von 10 Minuten zwischen den Retries für die Aufgabe
extract_datahinzu.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
@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()