= Celery — распределенные очереди задач =

[[http://celeryproject.org/|Celery]] — распределенные очереди задач на Python. Celery позволяет описывать задачи на Python и запускать их на нескольких серверах, распределяя их с помощью брокера, в качестве которого может выступать RabbitMQ (рекомендованный вариант), Stomp, Redis и даже большинство СУБД.

'''Обзор'''

Архитектура проекта выглядит следующим образом:

{{attachment:Celery-Overview-v4.jpg}}

'''Пример задачи осуществляющей сложение двух чисел'''

{{{#!highlight python
from celery.decorators import task

@task
def add(x, y):
    return x + y
}}}

Вы можете выполнить задачу в фоновом режиме либо дождаться ее завершения:
{{{#!highlight python
>>> result = add.delay(4, 4)
>>> result.wait() # wait for and return the result
8
}}}

'''Установка'''

Вы можете установить celery с помощью Python Package Index (PyPI) или из исходников.

'''Установка с помощью pip:'''
{{{
$ pip install celery
}}}

'''Установка с помощью easy_install'''
{{{
$ easy_install celery
}}}

'''Загрузка и установка из исходников'''

Вы всегда можете загрузить последнюю версию на сайте http://pypi.python.org/pypi/celery/

Вы можете установить ее следующим образом:
{{{
$ tar xvfz celery-0.0.0.tar.gz
$ cd celery-0.0.0
$ python setup.py build
# python setup.py install # as root
}}}

'''Использование версии из транка'''

Вы можете клонировать репозитарий следующим образом:
{{{
$ git clone git://github.com/ask/celery.git
}}}