| :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 |
| 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 |
| .. 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 |
| :param context: Context dictionary as passed to execute() |