Anyone know of a simpler system or technique for achieving the same thing? Or perhaps, a better way to go about using Celery.
Anyone know of a simpler system or technique for achieving the same thing? Or perhaps, a better way to go about using Celery.
If you don't need all the features of RabbitMQ or just don't want to deal with it, you can use any of the other broker backends: Redis (if you don't need persistence) or even with your default DB through the Django ORM.
It's worth it, in my opinion. Celery is one of the best-of-breed (even outside of Python) tools like SQLAlchemy.
We've been quite happy with it so far. It has a bit of a learning curve, but once you buy into the way it does things suddenly a lot of code you thought you had to write disappears. I was just looking at our async code and really was surprised at how short it is.
So far I recommend it heartily.
Nowadays you can install RabbitMQ + Erlang through a package manager like apt-get/homebrew.
After making sure that RabbitMQ is running, add "djcelery" to your project's settings.py + syncdb, add a task (The API is very straightforward and intuitive), run celeryd and voila =) [1].
The other services (like celerybeat/camqadm) are for monitoring/administration purposes.
Besides, RabbitMQ is not even required since there are the so-called ghetto queues (db, redis).
But if you're looking for something even simpler, I suggest you take a look at hotqueue[2]
[1]http://ask.github.com/django-celery/getting-started/first-st...
Also, the default configuration is good enough in most cases.