[rabbitmq-discuss] Erlang client and supervision trees
Ben Hood
0x6e6562 at gmail.com
Fri Sep 19 13:22:37 BST 2008
Anders,
(Hope you don't mind that I'm cc'ing the Rabbit list)
I've given your question about how to integrate a supervision tree
into the Erlang client some consideration.
If you want to supervise your AMQP consumers in a tree, you could pass
a reference to the existing connection, an existing channel or a new
channel into the start function of the child specification.
However, this may not help you when a consumer dies. Sure, depending
on the strategy, you could get the supervisor to start a new worker,
but AFAIK there is no callback in which you could perform any
housekeeping (e.g. unsubscribing a dead consumer).
So you may want to use a monitor to keep track of this.
Be aware that the client does not monitor any consumers or perform any
cleanup - the client is simply a mouthpiece to the server, it does not
maintain your application for you.
If you are interested in OTP best practices on this topic, it may be
an idea to start a thread on the erlang questions list to get a more
general perspective.
HTH,
Ben
More information about the rabbitmq-discuss
mailing list