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

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


Christian,

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.


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list