Кому-нибудь удалось использовать сельдерей с пилонами

У меня есть веб-приложение на основе пилонов, и я хотел бы использовать сельдерей + rabbitmq в течение некоторого времени, выполняя задачи. Я посмотрел на проект пилонов сельдерея, но мне не удалось его использовать.

Моя основная проблема с сельдереем: куда я могу поместить файл celeryconfig.py или есть ли другой способ указать параметры сельдерея, например. BROKER_HOST и т.п. из приложения pylons (таким же образом можно указать параметры в файле django settings.py при использовании django-celery).

По сути, я исследовал 2 варианта: использовать сельдерей как отдельный проект и использовать пилоны из сельдерея, оба без особого успеха .. :(

Заранее спасибо за помощь.


person 371c    schedule 21.10.2010    source источник


Ответы (2)


Я делаю это сейчас, хотя уже какое-то время не обновлял сельдерей. Думаю, я все еще на 2.0.0.

Я создал каталог celery_app в моем приложении pylons. (так что в том же каталоге, что и данные, контроллеры и т. д.)

В этом каталоге находятся мои celeryconfig.py, tasks.py и pylons_tasks.py.

pylons_tasks.py - это просто файл, который инициализирует приложение pylons, поэтому я могу загружать модели Pylons и тому подобное в файл celery tasks.py. Итак, он выполняет инициализацию пилонов, а затем импортирует tasks.py.

Затем celeryconfig настроен на использование myapp.celery_app.pylons_tasks в качестве значения CELERY_IMPORTS.

CELERY_IMPORTS = ("myapp.celery_app.pylons_tasks", )

Надеюсь, это кому-то поможет.

person Rick    schedule 21.10.2010

Самая тесная интеграция с пилонами - это встроить собственный загрузчик в команды вставки. Вот что делают пилоны сельдерея. Взгляните на мою вилку пилонов сельдерея https://bitbucket.org/dougtabuchi/celery-pylons/src, который должен работать с последней версией сельдерея и пилонов 1.0.

Чтобы сторона сельдерея работала, вам нужно добавить правильные параметры в свой ini-файл, а затем вызвать paster celeryd development.ini

Для стороны веб-приложения вам просто нужно импортировать celerypylons в environment.py. Затем вы сможете импортировать и использовать свои задачи из любой точки вашего проекта.

Хороший проект пилонов, в котором используется сельдерей, - это https://rhodecode.org/rhodecode/files/tip/

person Doug Tabuchi    schedule 30.04.2011