airflow.providers.standard.operators.weekday
¶
Module Contents¶
Classes¶
Branches into one of two lists of tasks depending on the current day. |
- 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.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.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.utils.weekday import WeekDay from airflow.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 (str | Iterable[str]) – task_id, task_group_id, or a list of task_ids and/or task_group_ids to follow if criteria met.
follow_task_ids_if_false (str | Iterable[str]) – task_id, task_group_id, or a list of task_ids and/or task_group_ids to follow if criteria not met.
week_day (str | Iterable[str] | airflow.utils.weekday.WeekDay | Iterable[airflow.utils.weekday.WeekDay]) –
Day 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_date (bool) – If
True
, uses task’s logical date to compare with is_today. Execution Date is Useful for backfilling. IfFalse
, uses system’s day of the week.
- 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.utils.context.Context) – Context dictionary as passed to execute()