[rabbitmq-discuss] Daemon processes, sporadic messages, and heartbeats?

Matthias Radestock matthias at rabbitmq.com
Wed May 25 13:51:48 BST 2011


On 24/05/11 23:45, Christian Legnitto wrote:
> I'm using python with carrot to connect to RabbitMQ. I'm finding in
> some cases that long-running processes can "wedge" after they don't
> get messages for a long time. They don't throw an error and it looks
> like they are waiting for messages but they never get them. I guess
> they are connected to the local socket but the server connection is
> closed (either because the TCP/IP connection times out or the VM
> sleeps, etc). Once the scripts are killed and restarted they receive
> messages again.

Do the connection show up with 'rabbitmqctl list_connections'? If so, 
what's their 'state' and 'send_pend'?

> Is there a heartbeat built into the protocol I can use to keep the
> connection alive?

Yes. And if the heartbeats (or other data) don't arrive then both ends 
of the connection are torn down.

Heartbeats are off by default; they need to be enabled at the time AMQP 
connection establishment. No idea how to do that in carrot, but one 
would hope it's possible.



More information about the rabbitmq-discuss mailing list