airflow.providers.standard.sensors.weekday

模块内容

DayOfWeekSensor

等待直到指定的一周中的第一天。

class airflow.providers.standard.sensors.weekday.DayOfWeekSensor(*, week_day, use_task_logical_date=False, **kwargs)[源代码]

基类: airflow.sensors.base.BaseSensorOperator

等待直到指定的一周中的第一天。

例如,如果任务的执行日期是“2018-12-22”(星期六),而您传递“FRIDAY”,则该任务将等待到下周五。

示例(单天)

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

示例(使用集合的多天)

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

示例(使用 WeekDay 枚举)

# 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,
)
参数
  • week_day (str | collections.abc.Iterable[str] | airflow.utils.weekday.WeekDay | collections.abc.Iterable[airflow.utils.weekday.WeekDay]) –

    要检查的星期几(全名)。可以选择使用集合提供一组日期。示例值

    • "MONDAY",

    • {"Saturday", "Sunday"}

    • {WeekDay.TUESDAY}

    • {WeekDay.SATURDAY, WeekDay.SUNDAY}

    要使用 WeekDay 枚举,请从 airflow.utils.weekday 导入它

  • use_task_logical_date (bool) – 如果为 True,则使用任务的逻辑日期与 week_day 进行比较。执行日期对于回填很有用。如果为 False,则使用系统的星期几。当您不想在系统上的工作日运行任何内容时很有用。

另请参阅

有关如何使用此传感器的更多信息,请查看指南:DayOfWeekSensor

poke(context)[源代码]

在派生此类时重写。

此条目是否有帮助?