Визначте @task.branch
Після ознайомлення з можливостями умовної логіки в Airflow ви хочете випробувати декоратор @task.branch. Ви бажаєте запускати іншу гілку коду, якщо поточна дата виконання позначає новий рік (тобто 2026 проти 2025).
Dag і відповідні задачі вже задані. Ваше завдання зараз — реалізувати @task.branch.
Ця вправа є частиною курсу
Вступ до Apache Airflow на Python
Інструкції до вправи
- Додайте відповідні змінні шаблону дат Airflow як параметри до
year_check, щоб порівняти поточний і попередній роки виконання. - Присвойте
current_yearіprevious_year, вирізавши перші 4 символи з кожного параметра дати. - Налаштуйте залежності для
current_year_taskіnew_year_task.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
@dag(start_date=datetime(2026,5,1), schedule='@monthly')
def process_yearly_expenses():
# Create a function to determine if years are different
@task.branch
def year_check(____, ____):
current_year = int(____[0:4])
previous_year = int(____[0:4])
if current_year == previous_year:
return 'current_year_task'
else:
return 'new_year_task'
# Define the dependencies
branch_task __ current_year_task
____ >> new_year_task