[rabbitmq-discuss] asynchronous fetching messages from rabbitMQ queues

pavuuu pavankumar.manikonda at schneider-electric.com
Thu Nov 10 08:51:47 GMT 2011




Matthias Radestock-3 wrote:
> 
> 
>>> So you want a DequeueEverythingButWaitIfThereIsNothingThere() ?
> 
> exactly. That is what I want.
> 
>>> That should be straightforward to implement as a helper function. We 
>>> could add it to the library, but I am curious about the use case here - 
>>> I would have thought that most apps process messages individual rather 
>>> than in blocks.
> 
> My use case is that I am implementing a message processor which fetches
> messages from rabbitMQ, process them and save in database. 
> 
> When using 'BasicConsume' without setting BasicQos on channel, it seems it
> is connecting to RabbitMQ everytime I call 'consumer.Queue.Dequeue()'.
> This operation is getting costly because of network overhead. I resolved
> it as you suggested by setting the BasicQos with a very high value.
> 
> Now instead of calling 'consumer.Queue.Dequeue()' everytime to fetch a
> message, If I was able to get these messages in an array or list, I can
> parallelize my operations on messages I have fetched.
> 
> Hope the usecase is clear.
> 
>>> Btw, you do realise that the Dequeue() operation is client-side only, 
>>> right? i.e. it is simply manipulating a client side buffer which is 
>>> filled as and when the client receives a message from the server.
> 
> yes, I understood that. When I set the prefetch to 1000, at client side a
> buffer is being maintained which will contain a maximum of 1000 messages.
> When I call dequeue, it is giving me the message from this buffer. 
> 
> And if there are less than 1000 messages in buffer, it refills the buffer
> if there are any messages in the queue bound to it.
> 
> correct me if my understanding is wrong.
> 
> Also, I have a suggestion. Please add appropriate comments to the dotnet
> client library. It hard to understand what the methods are doing for new
> bibes like me.
> 
> Matthias.
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
> 
> 

-- 
View this message in context: http://old.nabble.com/asynchronous-fetching-messages-from-rabbitMQ-queues-tp32709671p32816959.html
Sent from the RabbitMQ mailing list archive at Nabble.com.



More information about the rabbitmq-discuss mailing list