<div dir="ltr">Make the supervisor use the 'rest_for_one' strategy and have A crash if the connection fails. Then the supervisor will restart then entire subtree, starting with A.</div><div class="gmail_extra"><br>
<br><div class="gmail_quote">On Thu, Dec 5, 2013 at 10:39 AM, David Welton <span dir="ltr"><<a href="mailto:davidnwelton@gmail.com" target="_blank">davidnwelton@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Rereading Ferd's article, this jumps out at me:<br>
<br>
> You could force a connection during initialization if you know the database is on the same host and should be booted before your Erlang system, for example. Then a restart should work. In case of something incomprehensible and unexpected that breaks these guarantees, the node will end up crashing, which is desirable: a pre-condition to starting your system hasn't been met. It's a system-wide assertion that failed.<br>

<br>
That's what we want!  If the "A" system does not start, things should<br>
be retried a few times, then everything but a small core which will<br>
provide a "fail politely" (<br>
<a href="http://joearms.github.io/2013/04/28/Fail-fast-noisely-and-politely.html" target="_blank">http://joearms.github.io/2013/04/28/Fail-fast-noisely-and-politely.html</a><br>
) error message to the user should probably not start either.  The<br>
system should not bring up "not really started B" and "not really<br>
started C" just to send them start messages (from where?) when A<br>
finally does start 20 seconds later.<br>
<br>
Incidentally, what's the best way to start this whole subtree so that<br>
a small core of the application will survive its death?<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
David N. Welton<br>
<br>
<a href="http://www.welton.it/davidw/" target="_blank">http://www.welton.it/davidw/</a><br>
<br>
<a href="http://www.dedasys.com/" target="_blank">http://www.dedasys.com/</a><br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>