Storytelling with Data
Photo
click to show
click to show
Bugun Dag yaratgandagi parametrlar haqida korib chiqamiz va nega kerak degan savollarga javob olamiz!
“start_date” parametri bu dag qachondan boshlab ishga tushishini reja qigan bolamiz.
DateTime obyektiga tenglab belgilaymiz.
Buning uchun bizga pendulum kutubxonasidan DateTime obyektini import qilishimiz kerak boladi.
from pendulum import DateTime
xosh dag qachondan boshlab ishlashini reja qildik endi har qanchada yani 1 kunda yoki har soatda ishlasinmi degan savolga
bu “schedule” parametri orqali javob beramiz!
Masalan, biz bu yerda “schedule” ni “daily” (kunlik) deb belgilab, 2025-yil 1-yanvardan boshlab har kuni yarim tunda ishga tushishini aytaganmiz odatda ozi kechasi 12 am da ishga tushadi.
buni vaqtini aniq ayta olamiz.
bizga kerakli 3 chi parametr bu
catchup hisoblanadi.
Odatda, biz catchup ga false value beramiz chunki ozi default u true holatda boladi.
xop 2025- yil 1-yanvardan keyin bizni projectda xatolik tufayli muvaffaqiyatsiz ishga tushgan daglar bor. agarda catchup True bolsa dag default ularni boshidan yana 1- yanvardan boshlab run berishga try qiladi.
description bu keyingi parametr biz bu yerda
Dag ni yozganmiz va nimaga kerak ekanligini yozib qoya olamiz keyin esa biz airflow ui da kora olishlari uchun code oqib tushunish shart bolmay qoladi.
tags bu parametr bolsa
juda foydali hisoblanadi asosan jamoalar bolib ishlaganda Daglar orasida filtr qoyish uchun.
Biz tags ni qanday tanlashimiz ozimizga bogliqva uni UI da ularni filtrlay olamiz shuning uchun ular juda qulay hisoblanadi.
Keyingi parametr – bu default arguments.
default_args bu dictionary shaklida boladi.
Agar biz Dagdagi barcha tasklar uchun qayta urinib korishlar sonini(retries) belgilamoqchi bolsak, default args ni ishlatishimiz kerak.
masalan
har bir taskni oldiga alohida “retries = 1” deb yozmasdan default_args ga yozib qoyishimizni ozi yetarli boladi.
dagrun_timeout bu bizga agarda dag ni ishlash vaqt oraligi masalan hozirgi vaziyatda agarda dag 20 minut ichida yani boshlangandan 20 minut ichida yakunlamasa avtomatik bu failed boladi degani. bu juda kerakli hisoblanadi.
va oxirgisi max_consecutive_failed_dag_runs
masalan, qiymatini 2 deb belgiladik.
Bu parametr orqali biz, agar dagimiz ketma-ket ikki marta failed bajarilsa, Airflow Dagning keyingi ishga tushirilishini toxtatishi kerakligini belgilaymiz.
Bu juda kerakli, chunki bu Dagning kop marta failed ishga tushirilishini oldini oladi chunki dam olish kunlarida xatoliklar yuz bersa yoki biror sababga kora Dagni post qila olmagan bolsak, yoki juda tez-tez(hourly) ishlaydigan Dag bolsa
kop marta failed ishga tushirilish sonini kamaytiramiz.
bu yerda DAG yaratish uchun kerak bolgan asosiy parametrlarni korib chiqdik.
774 ·