airflow.executors
¶
Submodules¶
Package Contents¶
-
class
airflow.executors.
LoggingMixin
(context=None)[source]¶ Bases:
object
Convenience super-class to have a logger configured with the class name
-
logger
¶
-
log
¶
-
_set_context
(self, context)¶
-
-
exception
airflow.executors.
AirflowException
[source]¶ Bases:
Exception
Base class for all Airflow’s errors. Each custom exception should be derived from this class
-
status_code
= 500¶
-
-
class
airflow.executors.
BaseExecutor
(parallelism=PARALLELISM)[source]¶ Bases:
airflow.utils.log.logging_mixin.LoggingMixin
-
start
(self)¶ Executors may need to get things started. For example LocalExecutor starts N workers.
-
queue_command
(self, simple_task_instance, command, priority=1, queue=None)¶
-
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)¶
-
has_task
(self, task_instance)¶ Checks if a task is either queued or running in this executor
- Parameters
task_instance – TaskInstance
- Returns
True if the task is known to this executor
-
sync
(self)¶ Sync will get called periodically by the heartbeat method. Executors should override this to perform gather statuses.
-
heartbeat
(self)¶
-
change_state
(self, key, state)¶
-
fail
(self, key)¶
-
success
(self, key)¶
-
get_event_buffer
(self, dag_ids=None)¶ Returns and flush the event buffer. In case dag_ids is specified it will only return and flush events for the given dag_ids. Otherwise it returns and flushes all
- Parameters
dag_ids – to dag_ids to return events for, if None returns all
- Returns
a dict of events
-
execute_async
(self, key, command, queue=None, executor_config=None)¶ This method will execute the command asynchronously.
-
end
(self)¶ This method is called when the caller is done submitting job and is wants to wait synchronously for the job submitted previously to be all done.
-
terminate
(self)¶ This method is called when the daemon receives a SIGTERM
-
-
class
airflow.executors.
LocalExecutor
[source]¶ Bases:
airflow.executors.base_executor.BaseExecutor
LocalExecutor executes tasks locally in parallel. It uses the multiprocessing Python library and queues to parallelize the execution of tasks.
-
class
_UnlimitedParallelism
(executor)¶ Bases:
object
Implements LocalExecutor with unlimited parallelism, starting one process per each command to execute.
-
start
(self)¶
-
execute_async
(self, key, command)¶
-
sync
(self)¶
-
end
(self)¶
-
-
class
_LimitedParallelism
(executor)¶ Bases:
object
Implements LocalExecutor with limited parallelism using a task queue to coordinate work distribution.
-
start
(self)¶
-
execute_async
(self, key, command)¶
-
sync
(self)¶
-
end
(self)¶
-
-
start
(self)¶
-
execute_async
(self, key, command, queue=None, executor_config=None)¶
-
sync
(self)¶
-
end
(self)¶
-
class
-
class
airflow.executors.
SequentialExecutor
[source]¶ Bases:
airflow.executors.base_executor.BaseExecutor
This executor will only run one task instance at a time, can be used for debugging. It is also the only executor that can be used with sqlite since sqlite doesn’t support multiple connections.
Since we want airflow to work out of the box, it defaults to this SequentialExecutor alongside sqlite as you first install it.
-
execute_async
(self, key, command, queue=None, executor_config=None)¶
-
sync
(self)¶
-
end
(self)¶
-
-
airflow.executors.
GetDefaultExecutor
()[source]¶ Creates a new instance of the configured executor if none exists and returns it