blob: 0aeb44367d303e13898014deee2ad39db3405e65 [file] [log] [blame]
:py:mod:`airflow.executors.local_kubernetes_executor`
=====================================================
.. py:module:: airflow.executors.local_kubernetes_executor
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.executors.local_kubernetes_executor.LocalKubernetesExecutor
.. py:class:: LocalKubernetesExecutor(local_executor, kubernetes_executor)
Bases: :py:obj:`airflow.utils.log.logging_mixin.LoggingMixin`
LocalKubernetesExecutor consists of LocalExecutor and KubernetesExecutor.
It chooses the executor to use based on the queue defined on the task.
When the task's queue is the value of ``kubernetes_queue`` in section ``[local_kubernetes_executor]``
of the configuration (default value: `kubernetes`), KubernetesExecutor is selected to run the task,
otherwise, LocalExecutor is used.
.. py:attribute:: supports_ad_hoc_ti_run
:annotation: :bool = True
.. py:attribute:: callback_sink
:annotation: :BaseCallbackSink | None
.. py:attribute:: KUBERNETES_QUEUE
.. py:method:: queued_tasks()
:property:
Return queued tasks from local and kubernetes executor
.. py:method:: running()
:property:
Return running tasks from local and kubernetes executor
.. py:method:: job_id()
:property:
This is a class attribute in BaseExecutor but since this is not really an executor, but a wrapper
of executors we implement as property so we can have custom setter.
.. py:method:: start()
.. py:method:: slots_available()
:property:
Number of new tasks this executor instance can accept
.. py:method:: queue_command(task_instance, command, priority = 1, queue = None)
Queues command via local or kubernetes executor
.. py:method:: queue_task_instance(task_instance, mark_success = False, pickle_id = None, ignore_all_deps = False, ignore_depends_on_past = False, ignore_task_deps = False, ignore_ti_state = False, pool = None, cfg_path = None)
Queues task instance via local or kubernetes executor
.. py:method:: has_task(task_instance)
Checks if a task is either queued or running in either local or kubernetes executor.
:param task_instance: TaskInstance
:return: True if the task is known to this executor
.. py:method:: heartbeat()
Heartbeat sent to trigger new jobs in local and kubernetes executor
.. py:method:: get_event_buffer(dag_ids = None)
Returns and flush the event buffer from local and kubernetes executor
:param dag_ids: dag_ids to return events for, if None returns all
:return: a dict of events
.. py:method:: try_adopt_task_instances(tis)
Try to adopt running task instances that have been abandoned by a SchedulerJob dying.
Anything that is not adopted will be cleared by the scheduler (and then become eligible for
re-scheduling)
:return: any TaskInstances that were unable to be adopted
:rtype: list[airflow.models.TaskInstance]
.. py:method:: end()
End local and kubernetes executor
.. py:method:: terminate()
Terminate local and kubernetes executor
.. py:method:: debug_dump()
Called in response to SIGUSR2 by the scheduler
.. py:method:: send_callback(request)
Sends callback for execution.
:param request: Callback request to be executed.