This document describes an older version of Celery (2.5). For the latest stable version please go here.

celery.worker

celery.worker

WorkController can be used to instantiate in-process workers.

The worker consists of several components, all managed by boot-steps (mod:celery.abstract).

copyright:
  1. 2009 - 2012 by Ask Solem.
license:

BSD, see LICENSE for more details.

class celery.worker.Beat(w, embed_clockservice=False, **kwargs)

Component used to embed a celerybeat process.

This will only be enabled if the embed_clockservice argument is set.

create(w)
name = 'beat'
namespace = 'worker'
class celery.worker.Namespace(name=None, app=None, logger=None)

This is the boot-step namespace of the WorkController.

It loads modules from CELERYD_BOOT_STEPS, and its own set of built-in boot-step modules.

builtin_boot_steps = ('celery.worker.autoscale', 'celery.worker.autoreload', 'celery.worker.consumer', 'celery.worker.mediator')
modules()
name = 'worker'
class celery.worker.Pool(w, autoscale=None, **kwargs)

The pool component.

Describes how to initialize the worker pool, and starts and stops the pool during worker startup/shutdown.

Adds attributes:

  • autoscale
  • pool
  • max_concurrency
  • min_concurrency
create(w)
name = 'pool'
namespace = 'worker'
requires = ('queues',)
class celery.worker.Queues(parent, **kwargs)

This component initializes the internal queues used by the worker.

create(w)
name = 'queues'
namespace = 'worker'
class celery.worker.StateDB(w, **kwargs)

This component sets up the workers state db if enabled.

create(w)
name = 'state-db'
namespace = 'worker'
class celery.worker.Timers(parent, **kwargs)

This component initializes the internal timers used by the worker.

create(w)
name = 'timers'
namespace = 'worker'
requires = ('pool',)
class celery.worker.WorkController(loglevel=None, hostname=None, logger=None, ready_callback=<function noop at 0x1cd7668>, queues=None, app=None, **kwargs)

Unmanaged worker instance.

CLOSE = 2
RUN = 1
TERMINATE = 3
autoreloader_cls = None
autoscaler_cls = None
concurrency = None
consumer_cls = None
disable_rate_limits = None
eta_scheduler_cls = None
eta_scheduler_precision = None
force_execv = None
logfile = None
loglevel = 40
max_tasks_per_child = None
mediator_cls = None
on_timer_error(einfo)
on_timer_tick(delay)
pool_cls = None
pool_putlocks = None
prefetch_multiplier = None
process_task(request)

Process task by sending it to the pool of workers.

reload(modules=None, reload=False, reloader=None)
schedule_filename = None
scheduler_cls = None
send_events = None
start()

Starts the workers main loop.

state
state_db = None
stop(in_sighandler=False)

Graceful shutdown of the worker server.

task_soft_time_limit = None
task_time_limit = None
terminate(in_sighandler=False)

Not so graceful shutdown of the worker server.

Previous topic

celery.abstract

Next topic

celery.worker.consumer

This Page