Добавление повторных попыток
Вы заметили, что один из DAG-ов часто завершается с ошибкой на задаче извлечения данных из определённого источника. При этом повторный запуск той же задачи через несколько минут, как правило, решает проблему. Узнав о механизме повторных попыток в Airflow DAG-ах, вы решаете настроить автоматические повторы для этой задачи, чтобы не перезапускать её вручную.
dag, task и timedelta уже импортированы.
Это упражнение является частью курса
Введение в Apache Airflow на Python
Инструкции к упражнению
- Настройте задачу
extract_dataна 3 повторные попытки перед завершением с ошибкой. - Добавьте задержку в 10 минут между повторными попытками для задачи
extract_data.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
@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()