Bir alt Dag'i tetikleme
Bazı iş akışlarının benzer bileşenler kullandığını fark ediyorsun ve ortak görevleri kendi Dag'lerine ayırabileceğini anlıyorsun. Böylece bu bileşenleri birden fazla kopyayı yönetmeden, gerektiğinde çalıştırabilirsin. Mevcut iş akışındaki bir görev aracılığıyla bir alt Dag çalıştırmaya karar veriyorsun.
dag, task ve datetime bileşenleri senin için içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Python ile Apache Airflow’a Giriş
Egzersiz talimatları
- İş akışının içinden bir Dag başlatmak için gereken operator'ü içe aktar.
- Operator'ü
child_pipelineadlı Dag'i tetikleyecek şekilde ayarla. - Üst Dag'in, tetiklenen Dag tamamlanmadan devam etmediğinden emin ol.
- Operator'ün, alt Dag'in bitip bitmediğini hangi sıklıkla kontrol edeceğini ayarla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Import TriggerDagRunOperator
from airflow.providers.standard.operators.trigger_dagrun import ____
@dag(start_date=datetime(2026, 1, 1))
def parent_orchestrator_dag():
# Trigger child_pipeline and wait for it to complete
trigger_child = TriggerDagRunOperator(
task_id="trigger_child_pipeline",
trigger_dag_id="____",
____=True,
____=30,
conf={"source": "s3://my-bucket/raw/"})
validate() >> trigger_child >> post_trigger_summary()
parent_orchestrator_dag()