Use both? and supervisor or similar?
Celery actually make use of rabbitmq (or redis or others) as its message broker. As far as I’m aware, Celery needs a message broker?
You could probably use rabbitmq directly without the overhead of Celery on top, though how easy would that be to implement? Just a thought.