Eine Trigger-Regel implementieren
Nach dem Erstellen eines Workflows stellst du fest, dass der Dag davon profitieren würde, dich zu informieren, wenn mindestens eine Aufgabe fehlschlägt. Du entscheidest dich, eine Aufgabe zu implementieren, die die Prüfung one failed in deinem Dag verwendet, um dich zu benachrichtigen, falls eine Aufgabe im Dag fehlschlägt.
Alle anderen Aufgaben sind bereits definiert, und die Objekte task & dag wurden für dich importiert.
Diese Übung ist Teil des Kurses
<Kurs>Einführung in Apache Airflow mit Python</Kurs>Übungsanweisungen
- Importiere die passende Bibliothek, um Trigger-Regeln zu verwenden.
- Füge der Aufgabe
notify_on_failuredas passende Trigger-Rule-Attribut hinzu. - Setze das Attribut so, dass die Aufgabe ausgelöst wird, wenn eine oder mehrere Upstream-Aufgaben fehlschlagen.
- Setze
notify_on_failureals Downstream-Abhängigkeit der beiden Transform-Aufgaben.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import TriggerRule
from airflow.utils.____ import ____
@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():
# Trigger notify_on_failure when any upstream task fails
@task(____=TriggerRule.____)
def notify_on_failure(**context) -> None:
dag_id = context["dag"].dag_id
run_id = context["run_id"]
print(f"ALERT: A task failed in DAG '{dag_id}', run '{run_id}'. Sending notification...")
# Set notify_on_failure downstream of both transform tasks
[transform_users(), transform_orders()] ____ notify_on_failure()
etl_pipeline()