Как использовать сельдерей и django для запуска задач, которые уже находятся в очереди rabbitmq? - PullRequest
1 голос
/ 23 ноября 2011

На данный момент я прочитал большую часть документации rabbitmq и документации по сельдерею, и Google много раз. По сути, я нигде не могу найти информацию, которая мне нужна.

У меня есть витой веб-сервер, который читает сообщения и помещает их в очередь с помощью pika. Это отлично работает. У меня проблема в том, что я делаю отсюда. Что произойдет, так это то, что периодически (используя celerybeat) я хочу потреблять то, что в данный момент находится в очереди. Большая проблема, с которой я столкнулся, заключается в том, что я понятия не имею, как передать задачи в rabbitmq, чтобы сельдерей (или сельдерея) мог назначать задачи для выполнения.

Самый простой способ задать этот вопрос: могу ли я прочитать очереди, в которых в качестве тела содержатся данные, и использовать эти данные в django?

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 26 января 2012

Я думаю У меня тот же вопрос, но позвольте мне повторить его, чтобы быть уверенным:

Можете ли вы использовать Celery для приема сообщений, которые были помещены в RabbitMQ другим процессом, не относящимся к Django, не относящимся к Celery? Например, если система Java отправляет сообщение в RabbitMQ при совершении покупки, может ли задача Celery ответить на это сообщение и предпринять какие-либо действия?

0 голосов
/ 23 ноября 2011

Я не уверен, поможет ли это, но я использую djcelery для постановки задач в очередь от django, это очереди к кролику mq

отдельный процесс python manage.py (celeryd | celerybeat) подбирает задачи из очереди в соответствии с настройками в django

https://github.com/ask/django-celery

...