Мне нужно, чтобы в моем проекте django выполнялись длинные задачи. Решил использовать сельдерей с редисом в качестве брокера. Установленный Redis работает:
Сервер теперь готов принимать соединения через порт 6379
Чем я устанавливаю django-celery, настраиваю:
import djcelery
djcelery.setup_loader()
BROKER_HOST = "localhost"
BROKER_PORT = 6379 #redis
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"
и запустите его:
python manage.py celeryd -l DEBUG
[...]
[2011-06-18 10:31:37,913: DEBUG/MainProcess] Starting thread Timer...
[2011-06-18 10:31:37,914: DEBUG/MainProcess] Starting thread Consumer...
[2011-06-18 10:31:37,914: WARNING/MainProcess] celery@greg... has started.
[2011-06-18 10:31:37,914: DEBUG/MainProcess] Consumer: Re-establishing connection to the broker...
мой пример задачи выглядит так:
from celery.decorators import task
@task()
def add(x, y):
return x + y
сейчас я пытаюсь запустить его в оболочке:
In [3]: from message.tasks import add
In [4]: r=add.delay(2, 5)
это очень долго и рендеринг Traceback http://dpaste.com/555939/. Что это может быть? Может я что-то пропустил?