Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Book for Django + Celery + RabbitMQ? [closed]

Tags:

OK, I have been reading about the celery and rabbitmq, while I appreciate the effort of the project and the documentation, I am still confused about a lot of things.

http://www.celeryproject.org/

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

I am super confused about if celery is only for Django or a standalone server, as the second link claims celery is tightly used with Django. Both sites show different ways of setting up and using celery, which to me is chaotic.

Enough rant, is there a proper book available that I can buy?

like image 329
James Lin Avatar asked Oct 20 '11 23:10

James Lin


People also ask

Does Celery need RabbitMQ?

Installation & configuration We will install celery using pip. We don't use sudo as we are installing celery to our virtual environment. However, we also need to install rabbitmq on the system as it runs in the background. The -detached option allows us to run rabbitmq-server in the background.

What is the difference between Celery and RabbitMQ?

Celery is an asynchronous distributed task queue. RabbitMQ is a message broker which implements the Advanced Message Queuing Protocol (AMQP).


2 Answers

Well not a book but I recently did setup in Dotcloud for Django+Celery, and here's the short doc: http://web.archive.org/web/20150329132442/http://docs.dotcloud.com/tutorials/python/django-celery/

It's intended for simple tasks to be run asynchronously. There is a dotcloud-specific setup, but the rest might clear things up a bit. AFAIK, Celery started tightly coupled with Django but later became an entirely different animal, although it still retains superb compatibility with Django.

like image 59
user83768 Avatar answered Oct 19 '22 04:10

user83768


I don't know of a book, I guess a quick Amazon search would dig that up.

The bottom line is, celery is run as a separate server and works just as well for a standalone python program as Django, so it is not tied directly to Django. You can also run the celeryd worker software on multiple computers so they can all process the same queue concurrently. Often a separate queueing server, such as RabbitMQ is run to store the queue message.

Keep in mind, django-celery is just an integration app that acts as glue between Django and Celery.

like image 26
Matt Williamson Avatar answered Oct 19 '22 02:10

Matt Williamson