airflow.providers.standard.operators.weekday

BranchDayOfWeekOperator

根据当前日期将流程分发到两个任务列表之一。

模块内容

class airflow.providers.standard.operators.weekday.BranchDayOfWeekOperator(*, follow_task_ids_if_true, follow_task_ids_if_false, week_day, use_task_logical_date=False, **kwargs)[源码]

继承自:airflow.providers.standard.operators.branch.BaseBranchOperator

根据当前日期将流程分发到两个任务列表之一。

关于如何使用此算子的更多信息,请参阅指南:BranchDayOfWeekOperator

示例(包含单个日期)

from airflow.providers.standard.operators.empty import EmptyOperator
from airflow.operators.weekday import BranchDayOfWeekOperator

monday = EmptyOperator(task_id="monday")
other_day = EmptyOperator(task_id="other_day")

monday_check = BranchDayOfWeekOperator(
    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",
)
monday_check >> [monday, other_day]

示例(使用 WeekDay 枚举)

# import WeekDay Enum
from airflow.providers.standard.utils.weekday import WeekDay
from airflow.providers.standard.operators.empty import EmptyOperator
from airflow.operators.weekday import BranchDayOfWeekOperator

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",
)
# add downstream dependencies as you would do with any branch operator
weekend_check >> [workday, weekend]
参数:
follow_task_ids_if_true[源码]
follow_task_ids_if_false[源码]
week_day[源码]
use_task_logical_date = False[源码]
choose_branch(context)[源码]

选择运行哪个分支的抽象方法。

子类应实现此方法,运行选择分支所需的任何逻辑,并返回一个或多个 task_id。

参数:

context (airflow.sdk.definitions.context.Context) – 传递给 execute() 的上下文字典

本条目有帮助吗?