airflow.models.skipmixin¶

Module Contents¶

Classes¶

SkipMixin

A Mixin to skip Tasks Instances

Attributes¶

XCOM_SKIPMIXIN_KEY

XCOM_SKIPMIXIN_SKIPPED

XCOM_SKIPMIXIN_FOLLOWED

airflow.models.skipmixin.XCOM_SKIPMIXIN_KEY = 'skipmixin_key'[source]¶
airflow.models.skipmixin.XCOM_SKIPMIXIN_SKIPPED = 'skipped'[source]¶
airflow.models.skipmixin.XCOM_SKIPMIXIN_FOLLOWED = 'followed'[source]¶
class airflow.models.skipmixin.SkipMixin(context=None)[source]¶

Bases: airflow.utils.log.logging_mixin.LoggingMixin

A Mixin to skip Tasks Instances

skip(dag_run, execution_date, tasks, session=NEW_SESSION)[source]¶

Sets tasks instances to skipped from the same dag run.

If this instance has a task_id attribute, store the list of skipped task IDs to XCom so that NotPreviouslySkippedDep knows these tasks should be skipped when they are cleared.

Parameters
  • dag_run (airflow.models.dagrun.DagRun) – the DagRun for which to set the tasks to skipped

  • execution_date (pendulum.DateTime) – execution_date

  • tasks (Iterable[airflow.models.taskmixin.DAGNode]) – tasks to skip (not task_ids)

  • session (sqlalchemy.Session) – db session to use

skip_all_except(ti, branch_task_ids)[source]¶

This method implements the logic for a branching operator; given a single task ID or list of task IDs to follow, this skips all other tasks immediately downstream of this operator.

branch_task_ids is stored to XCom so that NotPreviouslySkippedDep knows skipped tasks or newly added tasks should be skipped when they are cleared.

Was this entry helpful?