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)[源代码]

Background thread to autoscale pool workers.

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

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

conditional = True
create(w)[源代码]

Create the step.

info(w)[源代码]

Return Autoscaler info.

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