Bir Trigger Rule Uygulamak
Bir iş akışı oluşturduktan sonra, en az bir görev başarısız olduğunda bazı güncellemeler sağlamanın Dag için faydalı olacağını fark ediyorsun. Dag’inde herhangi bir görev başarısız olursa seni uyarması için one failed kontrolünü uygulayan bir görev eklemeye karar veriyorsun.
Diğer tüm görevler tanımlandı ve task ile dag nesneleri senin için zaten içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Apache Airflow’a Giriş
Egzersiz talimatları
- Trigger rule’ları kullanmak için uygun kütüphaneyi içe aktar.
notify_on_failuregörevine uygun trigger rule özniteliğini ekle.- Özniteliği, bir veya daha fazla yukarı akış görevi başarısız olduğunda bu görevin tetikleneceği şekilde ayarla.
notify_on_failure’ı iki dönüştürme (transform) görevinin aşağı akış bağımlılığı olarak ayarla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()