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

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

Обзор

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

Celery-Overview-v4.jpg

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

   1 from celery.decorators import task
   2 
   3 @task
   4 def add(x, y):
   5     return x + y

Вы можете выполнить задачу в фоновом режиме либо дождаться ее завершения:

   1 >>> result = add.delay(4, 4)
   2 >>> result.wait() # wait for and return the result
   3 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

Пакеты/Django/Celery (последним исправлял пользователь alafin 2010-06-01 17:24:44)