Added _working_ supervisor behaviour
This commit is contained in:
parent
30cebd1c0d
commit
72e411aee9
2 changed files with 17 additions and 8 deletions
|
@ -2,19 +2,28 @@
|
||||||
-behaviour(supervisor).
|
-behaviour(supervisor).
|
||||||
|
|
||||||
%% API
|
%% API
|
||||||
-export([start_link/0]).
|
-export([start_link/1]).
|
||||||
|
|
||||||
%% Supervisor callbacks
|
%% Supervisor callbacks
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
-define(SERVER, ?MODULE).
|
-define(SERVER, ?MODULE).
|
||||||
|
|
||||||
start_link() ->
|
start_link(Port) ->
|
||||||
supervisor:start_link({local, ?SERVER}, ?MODULE, []).
|
supervisor:start_link({local, ?SERVER}, ?MODULE, [Port]).
|
||||||
|
|
||||||
init([]) ->
|
init([Port]) ->
|
||||||
Server = {ggs_server, {ggs_server, start_link, []},
|
Server = {ggs_server,
|
||||||
permanent, 2000, worker, [ggs_server]},
|
{ggs_server, start_link, [Port]},
|
||||||
|
permanent,
|
||||||
|
2000,
|
||||||
|
worker,
|
||||||
|
[ggs_server]
|
||||||
|
},
|
||||||
Children = [Server],
|
Children = [Server],
|
||||||
RestartStrategy = {one_for_one, 0, 1},
|
|
||||||
|
RestartStrategy = { one_for_one, % Restart only crashing child
|
||||||
|
10, % Allow ten crashes per..
|
||||||
|
1 % 1 second, then crash supervisor.
|
||||||
|
},
|
||||||
{ok, {RestartStrategy, Children}}.
|
{ok, {RestartStrategy, Children}}.
|
||||||
|
|
||||||
|
|
2
start
2
start
|
@ -1,3 +1,3 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
erl -boot start_sasl -pa erlang_js/ebin/ -pa erlv8/ebin -pa ebin -pa src -eval "ggs_server:start_link($1)."
|
erl -boot start_sasl -pa erlang_js/ebin/ -pa erlv8/ebin -pa ebin -pa src -eval "ggs_sup:start_link($1)."
|
||||||
|
|
Reference in a new issue