BranchDayOfWeekOperator

Apache Airflow

Branches into one of two lists of tasks depending on the current day. For more information on how to use this operator, take a look at the guide: BranchDayOfWeekOperator

View on GitHub

Last Updated: Sep. 14, 2022

Access Instructions

Install the Apache Airflow provider package into your Airflow environment.

Import the module into your DAG file and instantiate it with your desired params.

Parameters

follow_task_ids_if_trueRequiredtask id or task ids to follow if criteria met
follow_task_ids_if_falseRequiredtask id or task ids to follow if criteria does not met
week_dayRequiredDay of the week to check (full name). Optionally, a set of days can also be provided using a set. Example values: "MONDAY", {"Saturday", "Sunday"} {WeekDay.TUESDAY} {WeekDay.SATURDAY, WeekDay.SUNDAY} To use WeekDay enum, import it from airflow.utils.weekday
use_task_logical_dateIf True, uses task’s logical date to compare with is_today. Execution Date is Useful for backfilling. If False, uses system’s day of the week.
use_task_execution_daydeprecated parameter, same effect as use_task_logical_date

Documentation

Branches into one of two lists of tasks depending on the current day. For more information on how to use this operator, take a look at the guide: BranchDayOfWeekOperator

Example (with single day):

from airflow.operators.empty import EmptyOperator
monday = EmptyOperator(task_id='monday')
other_day = EmptyOperator(task_id='other_day')
monday_check = DayOfWeekSensor(
task_id='monday_check',
week_day='Monday',
use_task_logical_date=True,
follow_task_ids_if_true='monday',
follow_task_ids_if_false='other_day',
dag=dag)
monday_check >> [monday, other_day]

Example (with WeekDay enum):

# import WeekDay Enum
from airflow.utils.weekday import WeekDay
from airflow.operators.empty import EmptyOperator
workday = EmptyOperator(task_id='workday')
weekend = EmptyOperator(task_id='weekend')
weekend_check = BranchDayOfWeekOperator(
task_id='weekend_check',
week_day={WeekDay.SATURDAY, WeekDay.SUNDAY},
use_task_logical_date=True,
follow_task_ids_if_true='weekend',
follow_task_ids_if_false='workday',
dag=dag)
# add downstream dependencies as you would do with any branch operator
weekend_check >> [workday, weekend]

Was this page helpful?