This document describes the current stable version of Celery (5.5). For development docs, go here.

celery.concurrency.base

Base Execution Pool.

class celery.concurrency.base.BasePool(limit=None, putlocks=True, forking_enable=True, callbacks_propagate=(), app=None, **options)[source]

Task pool.

CLOSE = 2
RUN = 1
TERMINATE = 3
class Timer(schedule: Timer | None = None, on_error: Callable[[Exception], None] | None = None, on_tick: Callable[[float], None] | None = None, on_start: Callable[[Timer], None] | None = None, max_interval: float | None = None, **kwargs: Any)

Timer thread.

Note

This is only used for transports not supporting AsyncIO.

class Entry(fun, args=None, kwargs=None)

Schedule Entry.

args
cancel()
canceled
property cancelled
fun
kwargs
tref
Schedule

alias of Timer

call_after(*args: Any, **kwargs: Any) Entry
call_at(*args: Any, **kwargs: Any) Entry
call_repeatedly(*args: Any, **kwargs: Any) Entry
cancel(tref: Entry) None
clear() None
empty() bool
ensure_started() None
enter(entry: Entry, eta: float, priority: int | None = None) Entry
enter_after(*args: Any, **kwargs: Any) Entry
exit_after(secs: float, priority: int = 10) None
next() float | None
on_tick: Callable[[float], None] | None = None
property queue: list
run() None

Method representing the thread’s activity.

You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.

running: bool = False
stop() None
property active
apply_async(target, args=None, kwargs=None, **options)[source]

Equivalent of the apply() built-in function.

Callbacks should optimally return as soon as possible since otherwise the thread which handles the result will get blocked.

body_can_be_buffer = False
close()[source]
did_start_ok()[source]
flush()[source]
property info
is_green = False

set to true if pool uses greenlets.

maintain_pool(*args, **kwargs)[source]
property num_processes
on_apply(*args, **kwargs)[source]
on_close()[source]
on_hard_timeout(job)[source]
on_soft_timeout(job)[source]
on_start()[source]
on_stop()[source]
on_terminate()[source]
register_with_event_loop(loop)[source]
restart()[source]
signal_safe = True

set to true if the pool can be shutdown from within a signal handler.

start()[source]
stop()[source]
task_join_will_block = True
terminate()[source]
terminate_job(pid, signal=None)[source]
uses_semaphore = False

only used by multiprocessing pool

celery.concurrency.base.apply_target(target, args=(), kwargs=None, callback=None, accept_callback=None, pid=None, getpid=<built-in function getpid>, propagate=(), monotonic=<built-in function monotonic>, **_)[source]

Apply function within pool context.