airflow.operators.branch

分支操作符。

模块内容

BranchMixIn

实用工具助手,用于将分支处理为单行代码。

BaseBranchOperator

用于创建具有分支功能的操作符(如 BranchPythonOperator)的基类。

class airflow.operators.branch.BranchMixIn(context=None)[源代码]

基类:airflow.models.skipmixin.SkipMixin

实用工具助手,用于将分支处理为单行代码。

do_branch(context, branches_to_execute)[源代码]

实现分支的处理,包括日志记录。

class airflow.operators.branch.BaseBranchOperator(task_id, owner=DEFAULT_OWNER, email=None, email_on_retry=conf.getboolean('email', 'default_email_on_retry', fallback=True), email_on_failure=conf.getboolean('email', 'default_email_on_failure', fallback=True), retries=DEFAULT_RETRIES, retry_delay=DEFAULT_RETRY_DELAY, retry_exponential_backoff=False, max_retry_delay=None, start_date=None, end_date=None, depends_on_past=False, ignore_first_depends_on_past=DEFAULT_IGNORE_FIRST_DEPENDS_ON_PAST, wait_for_past_depends_before_skipping=DEFAULT_WAIT_FOR_PAST_DEPENDS_BEFORE_SKIPPING, wait_for_downstream=False, dag=None, params=None, default_args=None, priority_weight=DEFAULT_PRIORITY_WEIGHT, weight_rule=DEFAULT_WEIGHT_RULE, queue=DEFAULT_QUEUE, pool=None, pool_slots=DEFAULT_POOL_SLOTS, sla=None, execution_timeout=DEFAULT_TASK_EXECUTION_TIMEOUT, on_execute_callback=None, on_failure_callback=None, on_success_callback=None, on_retry_callback=None, on_skipped_callback=None, pre_execute=None, post_execute=None, trigger_rule=DEFAULT_TRIGGER_RULE, resources=None, run_as_user=None, task_concurrency=None, map_index_template=None, max_active_tis_per_dag=None, max_active_tis_per_dagrun=None, executor=None, executor_config=None, do_xcom_push=True, multiple_outputs=False, inlets=None, outlets=None, task_group=None, doc=None, doc_md=None, doc_json=None, doc_yaml=None, doc_rst=None, task_display_name=None, logger_name=None, allow_nested_operators=True, **kwargs)[源代码]

基类:airflow.models.baseoperator.BaseOperator, BranchMixIn

用于创建具有分支功能的操作符(如 BranchPythonOperator)的基类。

用户应该从此操作符创建一个子类并实现函数 choose_branch(self, context)。此函数应该运行任何确定分支所需的业务逻辑,并返回以下之一: - 单个 task_id(字符串类型)- 单个 task_group_id(字符串类型)- 包含 task_id 和 task_group_id 组合的列表。

此操作符将继续执行返回的 task_id 和/或 task_group_id,并且所有直接位于此操作符下游的其他任务将被跳过。

abstract choose_branch(context)[source]

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

子类应该实现此方法,运行任何必要的逻辑来选择分支,并返回 task_id 或 task_id 列表。

参数

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

execute(context)[source]

创建操作符时派生。

上下文是与渲染 jinja 模板时使用的相同字典。

有关更多上下文,请参阅 get_template_context。

此条目是否有帮助?