[erlang-patches] allow use of proplists in supervisor start specs

José Valim jose.valim@REDACTED
Mon Jun 30 16:37:46 CEST 2014


I have some feedback based on my experience in writing and teaching
Erlang/Elixir.

1. I would always require the supervision strategy. When I am prototyping,
it is usually hard for me to reason about the intensity and restarts, but I
can always reason about the supervision strategy. All teaching materials I
know of also discuss the supervision right away, so having it explicit
shouldn't hurt those cases.

For such cases, maybe we should use the format of {{strategy(), map()},
[children()]} (which is similar to what we have today).

2. I also agree with Richard. Having a default of 0 restarts may cause
confusion and forcing people to define them won't help when they still have
no idea of what values they should use (because it is prototyping / early
deploys). I usually fine tune those values based on the production system
reports so having saner defaults, like Ulf's, may make more sense.

3. The child_spec defaults are great and similar to the ones we use in
Elixir with the only difference being the shutdown value. We have a default
of 5000, which is the one usually recommended, but we set it to "infinity"
if the type is a "supervisor" (which is the OTP docs recommendation if I
remember correctly).

Regarding 3., if the recommendation and the consensus in actual systems is
to use brutal_kill for shutdown, I will gladly change Elixir to make it
consistent with OTP defaults.

Thanks for opening the changes for discussion!

*José Valim*
www.plataformatec.com.br
Skype: jv.ptec
Founder and Lead Developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20140630/59729891/attachment.htm>


More information about the erlang-patches mailing list