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

celery.worker.autoscale

Pool Autoscaling.

This module implements the internal thread responsible for growing and shrinking the pool according to the current autoscale settings.

The autoscale thread is only enabled if the celery worker --autoscale option is used.

class celery.worker.autoscale.Autoscaler(pool, max_concurrency, min_concurrency=0, worker=None, keepalive=30.0, mutex=None)[source]

Background thread to autoscale pool workers.

body()[source]
info()[source]
maybe_scale(req=None)[source]
property processes
property qty
scale_down(n)[source]
scale_up(n)[source]
update(max=None, min=None)[source]
class celery.worker.autoscale.WorkerComponent(w, **kwargs)[source]

Bootstep that starts the autoscaler thread/timer in the worker.

conditional = True
create(w)[source]

Create the step.

info(w)[source]

Return Autoscaler info.

label = 'Autoscaler'
name = 'celery.worker.autoscale.WorkerComponent'
register_with_event_loop(w, hub)[source]
requires = (step:celery.worker.components.Pool{(step:celery.worker.components.Hub{(step:celery.worker.components.Timer{()},)},)},)