Download 3.0 PDF - Read the Docs
Transcript
Celery Documentation, Release 3.0.25
Examples
Creating a Celery instance:
>>>
>>>
>>>
>>>
from celery import Celery
celery = Celery()
celery.config_from_object("celeryconfig")
celery.config_from_envvar("CELERY_CONFIG_MODULE")
Creating tasks:
@celery.task
def add(x, y):
return x + y
Creating custom Task subclasses:
Task = celery.create_task_cls()
class DebugTask(Task):
abstract = True
def on_failure(self, *args, **kwargs):
import pdb
pdb.set_trace()
@celery.task(base=DebugTask)
def add(x, y):
return x + y
Starting a worker:
worker = celery.Worker(loglevel="INFO")
Getting access to the configuration:
celery.conf.CELERY_ALWAYS_EAGER = True
celery.conf["CELERY_ALWAYS_EAGER"] = True
Controlling workers:
>>>
>>>
>>>
>>>
celery.control.inspect().active()
celery.control.rate_limit(add.name, "100/m")
celery.control.broadcast("shutdown")
celery.control.discard_all()
Other interesting attributes:
# Establish broker connection.
>>> celery.broker_connection()
# AMQP Specific features.
>>> celery.amqp
>>> celery.amqp.Router
2.14. Internals
315