[rabbitmq-discuss] clarifying plugin supervision, configuration

Jon Brisbin jon at jbrisbin.com
Tue Aug 24 17:11:16 BST 2010

I'm looking at some of the existing plugins and I just want to make sure I understand how the plugins are supervised in the broker.

It looks like it starts the application defined in the plugin's .app file, whose start() function should call my plugin's supervisor's start_link() function, correct?

Looking at rabbit_shovel, the plugin loads the configuration in the start_link() function, which I assume is coming from the main rabbit.config file? I don't have to have a separate config file for my plugin, correct?

I'll need to listen on multiple exchanges, so I'm assuming I'll need a gen_server, which starts separate consumers, for each configuration element (akin to what rabbit_shovel is doing by creating a child configuration in the supervisor for each element in the configuration file). How far can I go before I need to worry about resource usage of the "process per consumer" approach? Or should I have a consumer that listens to multiple exchanges (since it'll be doing almost the same thing for every message that comes through)?


J. Brisbin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20100824/b9ff84f6/attachment.htm>

More information about the rabbitmq-discuss mailing list