airflow.executors.celery_kubernetes_executor
¶
Module Contents¶
Classes¶
CeleryKubernetesExecutor consists of CeleryExecutor and KubernetesExecutor. |
- class airflow.executors.celery_kubernetes_executor.CeleryKubernetesExecutor(celery_executor, kubernetes_executor)[source]¶
Bases:
airflow.utils.log.logging_mixin.LoggingMixin
CeleryKubernetesExecutor consists of CeleryExecutor and KubernetesExecutor. It chooses an executor to use based on the queue defined on the task. When the queue is the value of
kubernetes_queue
in section[celery_kubernetes_executor]
of the configuration (default value: kubernetes), KubernetesExecutor is selected to run the task, otherwise, CeleryExecutor is used.- property job_id[source]¶
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.
- queue_command(task_instance, command, priority=1, queue=None)[source]¶
Queues command via celery or kubernetes executor
- 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)[source]¶
Queues task instance via celery or kubernetes executor
- has_task(task_instance)[source]¶
Checks if a task is either queued or running in either celery or kubernetes executor.
- Parameters
task_instance (airflow.models.taskinstance.TaskInstance) – TaskInstance
- Returns
True if the task is known to this executor
- Return type
- get_event_buffer(dag_ids=None)[source]¶
Returns and flush the event buffer from celery and kubernetes executor
- Parameters
dag_ids (Optional[List[str]]) – dag_ids to return events for, if None returns all
- Returns
a dict of events
- Return type
Dict[airflow.models.taskinstance.TaskInstanceKey, airflow.executors.base_executor.EventBufferValueType]
- try_adopt_task_instances(tis)[source]¶
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)
- Returns
any TaskInstances that were unable to be adopted
- Return type
list[airflow.models.TaskInstance]