Giới thiệu về Apache Airflow bằng Python
Mike Metzger
Data Engineer
schedulerunningfailedsuccess

Khi lập lịch cho một Dag, cần lưu ý:
start_date - Thời điểm lên lịch chạy Dag lần đầuend_date - Tùy chọn, thời điểm dừng tạo Dag mớistart_date và end_date dùng đối tượng datetime(year, month, day), ví dụ: from pendulum import datetime
start_date=datetime(2026, 4, 10, tz="UTC")
schedule thể hiện:
start_date đến end_datecron, preset sẵn có, hoặc timedelta.
* nghĩa là mọi khoảng lặp (vd: mỗi phút, mỗi ngày)
0 12 * * * # Chạy hàng ngày lúc 12:00
* * 25 2 * # Chạy mỗi phút vào ngày 25/02
0,15,30,45 * * * * # Chạy mỗi 15 phút
Preset:
cron tương đương:
0 * * * *0 0 * * *0 0 * * 00 0 1 * *0 0 1 1 *Airflow có ba preset schedule đặc biệt:
None - Không lập lịch, dùng cho Dag kích hoạt thủ công@once - Chạy một lần@continuous - Chạy ngay sau khi lượt trước kết thúcpendulum.durationduration(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"
)
Khi lập lịch cho một Dag, Airflow sẽ:
start_datestart_date + schedule'start_date': datetime(2026, 2, 25, tz="UTC")
'schedule': @daily
Thời điểm sớm nhất để chạy Dag là 26/02/2026
Giới thiệu về Apache Airflow bằng Python