blob: b6a8d4a95940d7cd22030308e2f97ca20b9200ff [file] [log] [blame]
:py:mod:`airflow.operators.latest_only`
=======================================
.. py:module:: airflow.operators.latest_only
.. autoapi-nested-parse::
This module contains an operator to run downstream tasks only for the
latest scheduled DagRun
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.operators.latest_only.LatestOnlyOperator
.. py:class:: LatestOnlyOperator(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 = conf.getboolean('scheduler', 'ignore_first_depends_on_past_by_default'), 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, pre_execute = None, post_execute = None, trigger_rule = DEFAULT_TRIGGER_RULE, resources = None, run_as_user = None, task_concurrency = None, max_active_tis_per_dag = None, executor_config = None, do_xcom_push = True, inlets = None, outlets = None, task_group = None, doc = None, doc_md = None, doc_json = None, doc_yaml = None, doc_rst = None, **kwargs)
Bases: :py:obj:`airflow.operators.branch.BaseBranchOperator`
Allows a workflow to skip tasks that are not running during the most
recent schedule interval.
If the task is run outside of the latest schedule interval (i.e. external_trigger),
all directly downstream tasks will be skipped.
Note that downstream tasks are never skipped if the given DAG_Run is
marked as externally triggered.
.. py:attribute:: ui_color
:annotation: = #e9ffdb
.. py:method:: choose_branch(self, context)
Subclasses should implement this, running whatever logic is
necessary to choose a branch and returning a task_id or list of
task_ids.
:param context: Context dictionary as passed to execute()