-
Notifications
You must be signed in to change notification settings - Fork 465
Description
So I have successfully set up RabbitMQ (in Docker) and have sent messages to RabbitMq and successfully consumed test messages. All in a safe development environment.
What I'm missing in the documentation are some pointers when moving to production.
My idea is to run consumers using supervisord, currently using this for the messenger from Symfony. The disadvantage is, however, code changes mean restarting the consumer(s).
So when I see the following in the documentation:
$ ./app/console rabbitmq:consumer -m 50 upload_picture
It got me thinking, is this the preferred way of setting it up in production? Firing up consumers for limited amounts of messages and then starting new ones when needed? Not sure how that would work.
Or, just multiple consumers for multiple exchanges?
A single consumer handles incoming messages sequentially. So how would you deal with large bulks? An idea would be firing up multiple consumers for a single exchange channel. But again, is this the "right" way?
So I'd like to hear some pointers from people who are using this in production. I'd like to use this in a setup where we could potentially have big bulks of messages that need to be consumed.