This document describes the current stable version of Celery (4.3). 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, Step]] (steps) – 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

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.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.

alias
conditional = False

Set this to true if the step is enabled based on some condition.

create(parent)[source]

Create the step.

enabled = True

This provides the default for include_if().

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

Optional short name used for graph outputs and in logs.

last = False

This flag is reserved for the workers Consumer, since it is required to always be started last. There can only be one object marked last in every blueprint.

name = 'celery.bootsteps.Step'

Optional step name, will use qualname if not specified.

requires = ()

List of other steps that that must be started before this step. Note that all dependencies must be in the same blueprint.

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

Optional obj created by the create() method. This is used by StartStopStep to keep the original service object.

start(parent)[source]
stop(parent)[source]
terminate(parent)[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]