airflow.operators.weekday
¶
Module Contents¶
Classes¶
Branches into one of two lists of tasks depending on the current day. |
- class airflow.operators.weekday.BranchDayOfWeekOperator(*, follow_task_ids_if_true, follow_task_ids_if_false, week_day, use_task_logical_date=False, use_task_execution_day=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 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]
- Parameters
follow_task_ids_if_true (str | Iterable[str]) – task id or task ids to follow if criteria met
follow_task_ids_if_false (str | Iterable[str]) – task id or task ids to follow if criteria does 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.use_task_execution_day (bool) – deprecated parameter, same effect as use_task_logical_date
- 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()