Python में Apache Airflow परिचय
Mike Metzger
Data Engineer




all_success - सभी पिछले टास्क सफल, कोई skip नहींall_failed - सभी पिछले टास्क असफलall_done - सभी पिछले टास्क पूरे, परिणाम चाहे कुछ भी होone_failed - कम से कम एक टास्क असफलone_success - कम से कम एक टास्क सफलnone_failed - सभी पिछले टास्क सफल या skippedfrom airflow.utils.trigger_rule import TriggerRule@task डेकोरेटर पर लगाए जाते हैंtrigger_rule=TriggerRule.<TriggerRule enum>@task(trigger_rule=TriggerRule.ALL_SUCCESS)
def run_if_everything_succeeds:
print('All previous tasks succeeded!')
retries - टास्क पैरामीटर जो बताता है कि Airflow असफल टास्क को फेल मार्क करने से पहले कितनी बार रीट्राई करेretry_delay - टास्क पैरामीटर, timedelta लेता है जो रीट्राई के बीच wait time तय करता है@task(
trigger_rule=TriggerRule.ONE_SUCCESS,
retries=3,
retry_delay=timedelta(minutes=5)
)
from airflow.providers.standard.operators.trigger_dagrun
import TriggerDagRunOperatortrigger_dag_id - dag_id से मिलना चाहिएwait_for_completion - पूरा होने तक आगे के टास्क रोकेंpoke_interval - कितनी बार जाँचेंconf - child Dag को पास होने वाला डेटाtrigger_child = TriggerDagRunOperator(
task_id="trigger_child_pipeline",
trigger_dag_id="child_pipeline_dag",
wait_for_completion=True,
poke_interval=30,
conf={
"source": "s3://my-bucket/raw/",
},
)
task1 >> trigger_child # पहले टास्क चलाएँ, फिर child Dag शुरू करें
trigger_child >> cleanup # child Dag पूरे होने पर cleanup टास्क चलाएँ
Python में Apache Airflow परिचय