airflow.sensors.weekday

Module Contents

Classes

DayOfWeekSensor

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(
    task_id='weekend_check',
    week_day={WeekDay.SATURDAY, WeekDay.SUNDAY},
    use_task_logical_date=True,
    dag=dag)
Parameters
  • week_day (str | Iterable[str] | WeekDay | Iterable[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

poke(context)[source]

Function defined by the sensors while deriving this class should override.

Was this entry helpful?