Thêm retry
Bạn nhận thấy một Dag thường xuyên thất bại ở tác vụ trích xuất dữ liệu từ một nguồn nhất định. Điều khó chịu là chỉ cần chạy lại tác vụ sau vài phút thì vấn đề lại biến mất. Sau khi tìm hiểu về chức năng retry trong Airflow Dags, bạn quyết định áp dụng retry cho tác vụ này để không phải khởi động lại thủ công nữa.
dag, task, và timedelta đã được nhập sẵn cho bạn.
Bài tập này là một phần của khóa học
Giới thiệu về Apache Airflow bằng Python
Hướng dẫn bài tập
- Thiết lập tác vụ
extract_datathử lại 3 lần trước khi coi là thất bại. - Thêm thời gian trễ 10 phút giữa các lần retry cho tác vụ
extract_data.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
@dag(schedule="@daily", start_date=datetime(2026, 5, 1))
def etl_pipeline():
# Set retries and retry delay on extract_data
@task(____=3, ____=____(minutes=10))
def extract_data():
print("Extracting data from source...")
@task()
def process_source_data():
print("Now processing data...")
extract_data() >> process_source_data()
etl_pipeline()