[erlang-questions] Pass Name to Dynamic Supervisors
Garrett Smith
g@REDACTED
Fri Sep 9 19:03:30 CEST 2011
On Wed, Sep 7, 2011 at 9:09 PM, Christopher Wilson <wilsoncj1@REDACTED> wrote:
> Is there a way to pass a name/ID into the call to supervisor:start_child,
> more specifically to init()? I'd like to specify the name of the worker or
> supervisor such that when I ran supervisor:which_children I could identify
> what's what.
> Also, I've tried [unsuccessfully] to dynamically create a child spec and add
> pass that in. Are there any decent examples out there on how to do this
> outside of the man pages?
Take a look at:
https://github.com/esl/gproc
I'm not sure if that's the canonical repository -- maybe Ulf can weigh in.
It's tempting, but I find it's best not to mess with the vanilla
supervisory facility and instead use gproc for getting a list of named
processes. You can also use gproc to publish interesting process stats
to consumers, thus avoiding costly and intrusive queries to the
processes themselves.
This paper:
https://github.com/esl/gproc/blob/master/doc/erlang07-wiger.pdf?raw=true
provides the background for gproc and is otherwise an excellent read!
You'll have a slight learning curve with gproc, but it's an
*indispensable* tool so well worth it.
It needs to be in the core :)
Garrett
More information about the erlang-questions
mailing list