91👍
I’ve used both recently (2017-2018), and they are both super stable with Celery 4. So your choice can be based on the details of your hosting setup.
- If you must use Celery version 2 or version 3, go with RabbitMQ. Otherwise…
- If you are using Redis for any other reason, go with Redis
- If you are hosting at AWS, go with Redis so that you can use a managed Redis as service
- If you hate complicated installs, go with Redis
- If you already have RabbitMQ installed, stay with RabbitMQ
In the past, I would have recommended RabbitMQ because it was more stable and easier to setup with Celery than Redis, but I don’t believe that’s true any more.
Update 2019
AWS now has a managed service that is equivalent to RabbitMQ called Amazon MQ, which could reduce the headache of running this as a service in production. Please comment below if you have any experience with this and celery.
4👍
The Redis broker gives tasks to workers in a fair round robin between different queues. Rabbit is FIFO always. For me, a fair round robin was preferable and I tried both. Rabbit seems a tad more stable though.
- [Django]-Why does django run everything twice?
- [Django]-Django custom field validator vs. clean
- [Django]-Function decorators with parameters on a class based view in Django