airflow.providers.standard.operators.weekday

Classes

BranchDayOfWeekOperator

Branches into one of two lists of tasks depending on the current day.

Module Contents

class airflow.providers.standard.operators.weekday.BranchDayOfWeekOperator(*, follow_task_ids_if_true, follow_task_ids_if_false, week_day, use_task_logical_date=False, **kwargs)[source]

Bases: airflow.providers.standard.operators.branch.BaseBranchOperator

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.providers.standard.operators.empty import EmptyOperator
from airflow.operators.weekday import BranchDayOfWeekOperator

monday = EmptyOperator(task_id="monday")
other_day = EmptyOperator(task_id="other_day")

monday_check = BranchDayOfWeekOperator(
    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",
)
monday_check >> [monday, other_day]

Example (with WeekDay enum):

# import WeekDay Enum
from airflow.providers.standard.utils.weekday import WeekDay
from airflow.providers.standard.operators.empty import EmptyOperator
from airflow.operators.weekday import BranchDayOfWeekOperator

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",
)
# add downstream dependencies as you would do with any branch operator
weekend_check >> [workday, weekend]
Parameters:
follow_task_ids_if_true[source]
follow_task_ids_if_false[source]
week_day[source]
use_task_logical_date = False[source]
choose_branch(context)[source]

Abstract method to choose which branch to run.

Subclasses should implement this, running whatever logic is necessary to choose a branch and returning a task_id or list of task_ids.

Parameters:

context (airflow.sdk.definitions.context.Context) – Context dictionary as passed to execute()

Was this entry helpful?