airflow.providers.standard.sensors.weekday

Module Contents

Classes

DayOfWeekSensor

Waits until the first specified day of the week.

class airflow.providers.standard.sensors.weekday.DayOfWeekSensor(*, week_day, use_task_logical_date=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 | collections.abc.Iterable[str] | airflow.utils.weekday.WeekDay | collections.abc.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.

See also

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

poke(context)[source]

Override when deriving this class.

Was this entry helpful?