Module Contents



Waits until the first specified day of the week.

class airflow.sensors.weekday.DayOfWeekSensor(*, week_day, use_task_logical_date=False, use_task_execution_day=False, **kwargs)[source]

Bases: airflow.sensors.base.BaseSensorOperator

Waits until the first specified day of the week.

For example, if the execution day of the task is ‘2018-12-22’ (Saturday) and you pass ‘FRIDAY’, the task will wait until next Friday.

Example (with single day):

weekend_check = DayOfWeekSensor(
    task_id="weekend_check", week_day="Saturday", use_task_logical_date=True, dag=dag

Example (with multiple day using set):

weekend_check = DayOfWeekSensor(
    task_id="weekend_check", week_day={"Saturday", "Sunday"}, use_task_logical_date=True, dag=dag

Example (with WeekDay enum):

# import WeekDay Enum
from airflow.utils.weekday import WeekDay

weekend_check = DayOfWeekSensor(
    week_day={WeekDay.SATURDAY, WeekDay.SUNDAY},
  • 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 week_day. Execution Date is Useful for backfilling. If False, uses system’s day of the week. Useful when you don’t want to run anything on weekdays on the system.

  • use_task_execution_day (bool) – deprecated parameter, same effect as use_task_logical_date

See also

For more information on how to use this sensor, take a look at the guide: DayOfWeekSensor


Override when deriving this class.

Was this entry helpful?