airflow.executors.celery_kubernetes_executor

Module Contents

Classes

CeleryKubernetesExecutor

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.

supports_ad_hoc_ti_run :bool = True[source]
KUBERNETES_QUEUE[source]
property queued_tasks(self)[source]

Return queued tasks from celery and kubernetes executor

property running(self)[source]

Return running tasks from celery and kubernetes executor

property job_id(self)[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.

start(self)[source]

Start celery and kubernetes executor

property slots_available(self)[source]

Number of new tasks this executor instance can accept

queue_command(self, task_instance, command, priority=1, queue=None)[source]

Queues command via celery or kubernetes executor

queue_task_instance(self, 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(self, 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

bool

heartbeat(self)[source]

Heartbeat sent to trigger new jobs in celery and kubernetes executor

get_event_buffer(self, 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(self, 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]

end(self)[source]

End celery and kubernetes executor

terminate(self)[source]

Terminate celery and kubernetes executor

debug_dump(self)[source]

Called in response to SIGUSR2 by the scheduler

Was this entry helpful?