ПочатиПочніть безкоштовно

Визначте @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
Редагувати та запускати код