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

App: Worker Node - celery.apps.worker

class celery.apps.worker.Worker(concurrency=None, loglevel=None, logfile=None, hostname=None, discard=False, run_clockservice=False, schedule=None, task_time_limit=None, task_soft_time_limit=None, max_tasks_per_child=None, queues=None, events=False, db=None, include=None, defaults=None, pidfile=None, redirect_stdouts=None, redirect_stdouts_level=None, scheduler_cls=None, **kwargs)
class WorkController(concurrency=None, logfile=None, loglevel=None, send_events=False, hostname=None, ready_callback=<function noop at 0x4741320>, embed_clockservice=False, pool_cls='celery.concurrency.processes.TaskPool', listener_cls='celery.worker.listener.CarrotListener', mediator_cls='celery.worker.controllers.Mediator', eta_scheduler_cls='celery.utils.timer2.Timer', schedule_filename='celerybeat-schedule', task_time_limit=None, task_soft_time_limit=None, max_tasks_per_child=None, pool_putlocks=True, disable_rate_limits=False, db=None, scheduler_cls='celery.beat.PersistentScheduler')

Executes tasks waiting in the task queue.

Parameters:
concurrency

The number of simultaneous processes doing work (default: conf.CELERYD_CONCURRENCY)

loglevel

The loglevel used (default: logging.INFO)

logfile

The logfile used, if no logfile is specified it uses stderr (default: celery.conf.CELERYD_LOG_FILE).

embed_clockservice

If True, celerybeat is embedded, running in the main worker process as a thread.

send_events

Enable the sending of monitoring events, these events can be captured by monitors (celerymon).

logger

The logging.Logger instance used for logging.

pool

The multiprocessing.Pool instance used.

ready_queue

The Queue.Queue that holds tasks ready for immediate processing.

schedule_controller

Instance of celery.worker.controllers.ScheduleController.

mediator

Instance of celery.worker.controllers.Mediator.

listener

Instance of CarrotListener.

concurrency = 0
logfile = None
loglevel = 40
on_timer_error(exc_info)
on_timer_tick(delay)
process_task(wrapper)

Process task by sending it to the pool of workers.

start()

Starts the workers main loop.

stop()

Graceful shutdown of the worker server.

terminate()

Not so graceful shutdown of the worker server.

Worker.die(msg, exitcode=1)
Worker.init_loader()
Worker.init_queues()
Worker.install_platform_tweaks(worker)

Install platform specific tweaks and workarounds.

Worker.on_listener_ready(listener)
Worker.osx_proxy_detection_workaround()

See http://github.com/ask/celery/issues#issue/161

Worker.purge_messages()
Worker.redirect_stdouts_to_logger()
Worker.run()
Worker.run_worker()
Worker.set_process_status(info)
Worker.startup_info()
Worker.tasklist(include_builtins=True)
Worker.worker_init()
celery.apps.worker.install_HUP_not_supported_handler(worker)
celery.apps.worker.install_worker_int_again_handler(worker)
celery.apps.worker.install_worker_int_handler(worker)
celery.apps.worker.install_worker_restart_handler(worker)
celery.apps.worker.install_worker_term_handler(worker)
celery.apps.worker.run_worker(*args, **kwargs)

Previous topic

In-memory Representation of Cluster State - celery.events.state

Next topic

App: Periodic Task Scheduler - celery.apps.beat

This Page