[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