about summary refs log tree commit diff
path: root/presentations/erlang-2016/src/hello_sup.erl
blob: 7fee0928c575c685ade2fc9c51731ce6e6f9bd63 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-module(hello_sup).
-behaviour(supervisor).
-export([start_link/0, init/1]).

%%% Module API

start_link() ->
    supervisor:start_link({local, ?MODULE}, ?MODULE, []).

%%% Supervisor callbacks

init([]) ->
    Children = [hello_spec()],
    {ok, { {one_for_one, 5, 10}, Children}}.

%%% Private

hello_spec() ->
    #{id       => hello_server2,
      start    => {hello_server2, start_link, []},
      restart  => permanent,
      shutdown => 5000,
      type     => worker,
      module   => [hello_server2]}.