I think for multiple consumers to work properly it's important to be able to set QOS for channels.
what do you think the default QOS should be?
As of me, I don't need prefetch (or maybe a prefetch count 1) because I work with small messages but I might launch multiple consumers.
The default QoS as defined by RabbitMQ assumes that the client has an unlimited buffer, so it will send out as much messages as it can to the client. If you want to add multiple consumers to a queue, but one of the consumers already has all the messages in its buffer the new consumers will remain idle.
Maybe it's an idea to add qos.prefetch_size and qos.prefetch_count options to the consumer configuration? The base consumer can set appropriate options for the channel.
I will look into this or someone can start writing a patch ;)
I can probably write up a patch for this, but it's probably a good idea to have #50 merged first. ;)
We are working on getting that merged ASAP :)
@asm89 you are good to go ;)
Would you still like a PR for this? Do you like the parameters I suggested above?
Sorry I've been off for a while. Yes I want a patch
We implemented configurable QOS support so that the developer is able to set prefetch_size and prefetch_count for each consumer.
@tcz can we close this issue?
I did not have the opportunity to test this but I'm sure it works. Thanks!
@tcz seems legit :P