Celery vs Rabbitmq for this particular use case

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.