Apache Airflow เบื้องต้นด้วย Python
Mike Metzger
Data Engineer
schedule ได้runningfailedsuccess

การตั้งเวลา Dag มีแอตทริบิวต์สำคัญดังนี้:
start_date - วันที่/เวลาเริ่มต้นสำหรับการรัน Dag ครั้งแรกend_date - แอตทริบิวต์ทางเลือกสำหรับกำหนดเวลาหยุดสร้าง Dag อินสแตนซ์ใหม่start_date และ end_date ใช้ออบเจกต์ datetime(year, month, day) เช่น: from pendulum import datetime
start_date=datetime(2026, 4, 10, tz="UTC")
schedule กำหนด:
start_date ถึง end_datecron, preset ในตัว, หรือ timedelta
* หมายถึงรันทุกช่วงเวลา (เช่น ทุกนาที ทุกวัน)
0 12 * * * # Run daily at noon
* * 25 2 * # Run once per minute on February 25
0,15,30,45 * * * * # Run every 15 minutes
Preset:
เทียบเท่า cron:
0 * * * *0 0 * * *0 0 * * 00 0 1 * *0 0 1 1 *Airflow มี preset schedule พิเศษสามแบบ:
None - ไม่ตั้งเวลา ใช้สำหรับ Dag ที่ trigger ด้วยตนเอง@once - รันเพียงครั้งเดียว@continuous - รันทันทีหลังจากการรันก่อนหน้าเสร็จสิ้นpendulum.duration ได้เช่นกันduration(hours=6)duration(minutes=30)from pendulum import duration
@dag(
dag_id="example_dag"
schedule=duration(days=2)
)
schedule:@dag(
dag_id="example_dag",
schedule="0 12 * * *"
)
@dag(
dag_id="example_dag",
schedule="@daily"
)
เมื่อตั้งเวลา Dag Airflow จะ:
start_date + schedule'start_date': datetime(2026, 2, 25, tz="UTC")
'schedule': @daily
เวลาเริ่มต้นเร็วที่สุดที่ Dag จะรันคือวันที่ 26 กุมภาพันธ์ 2026
Apache Airflow เบื้องต้นด้วย Python