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

celery.bootsteps

A directed acyclic graph of reusable components.

class celery.bootsteps.Blueprint(steps=None, name=None, on_start=None, on_close=None, on_stopped=None)[source]

Blueprint containing bootsteps that can be applied to objects.

Parameters:
  • Sequence[Union[str (steps) – List of steps.

  • Step]] – List of steps.

  • name (str) – Set explicit name for this blueprint.

  • on_start (Callable) – Optional callback applied after blueprint start.

  • on_close (Callable) – Optional callback applied before blueprint close.

  • on_stopped (Callable) – Optional callback applied after blueprint stopped.

GraphFormatter

alias of StepFormatter

property alias
apply(parent, **kwargs)[source]

Apply the steps in this blueprint to an object.

This will apply the __init__ and include methods of each step, with the object as argument:

step = Step(obj)
...
step.include(obj)

For StartStopStep the services created will also be added to the objects steps attribute.

claim_steps()[source]
close(parent)[source]
connect_with(other)[source]
default_steps = {}
human_state()[source]
info(parent)[source]
join(timeout=None)[source]
load_step(step)[source]
name = None
restart(parent, method='stop', description='restarting', propagate=False)[source]
send_all(parent, method, description=None, reverse=True, propagate=True, args=())[source]
start(parent)[source]
started = 0
state = None
state_to_name = {0: 'initializing', 1: 'running', 2: 'closing', 3: 'terminating'}
stop(parent, close=True, terminate=False)[source]
class celery.bootsteps.ConsumerStep(parent, **kwargs)[source]

Bootstep that starts a message consumer.

consumers = None
get_consumers(channel)[source]
name = 'celery.bootsteps.ConsumerStep'
requires = ('celery.worker.consumer:Connection',)
shutdown(c)[source]
start(c)[source]
stop(c)[source]
class celery.bootsteps.StartStopStep(parent, **kwargs)[source]

Bootstep that must be started and stopped in order.

close(parent)[source]
include(parent)[source]
name = 'celery.bootsteps.StartStopStep'
obj = None
start(parent)[source]
stop(parent)[source]
terminate(parent)[source]
class celery.bootsteps.Step(parent, **kwargs)[source]

A Bootstep.

The __init__() method is called when the step is bound to a parent object, and can as such be used to initialize attributes in the parent object at parent instantiation-time.

property alias
conditional = False
create(parent)[source]

Create the step.

enabled = True
include(parent)[source]
include_if(parent)[source]

Return true if bootstep should be included.

You can define this as an optional predicate that decides whether this step should be created.

info(obj)[source]
instantiate(name, *args, **kwargs)[source]
label = None
last = False
name = 'celery.bootsteps.Step'
requires = ()