I have written a windows service which subscribes to a RabbitMQ queue.
The process creates object of Subscription class and waits for
messages to arrive. This is the bit of code I am talking about :
using (_subscription = new Subscription(_channel, _queue, false))
foreach (BasicDeliverEventArgs e in _subscription)
yield return e;
I all works fine when I am running it in development and testing
environment. But when I am deploying the same windows service in
production which has rabbitmq deployed as cluster of 2 nodes with HA
queues, the channel is getting closed and the service stops if there
is considerable(around an hour) idle time on the queues. If there
messages being published to queues continuously, it works fine. I was
wondering if this has to do with some RabbitMQ configuration(allowed
idle time for channel or queue) ?