-
Notifications
You must be signed in to change notification settings - Fork 37
/
edis_sup.erl
40 lines (36 loc) · 1.76 KB
/
edis_sup.erl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
%%%-------------------------------------------------------------------
%%% @author Fernando Benavides <fernando.benavides@inakanetworks.com>
%%% @author Chad DePue <chad@inakanetworks.com>
%%% @copyright (C) 2011 InakaLabs SRL
%%% @doc Edis main supervisor
%%% @end
%%%-------------------------------------------------------------------
-module(edis_sup).
-author('Fernando Benavides <fernando.benavides@inakanetworks.com>').
-author('Chad DePue <chad@inakanetworks.com>').
-behaviour(supervisor).
-export([start_link/0, init/1]).
%%-------------------------------------------------------------------
%% PUBLIC API
%%-------------------------------------------------------------------
%% @doc Starts a new supervisor
-spec start_link() -> {ok, pid()}.
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
%%-------------------------------------------------------------------
%% SUPERVISOR API
%%-------------------------------------------------------------------
%% @hidden
-spec init([]) -> {ok, {{one_for_one, 5, 10}, [supervisor:child_spec()]}}.
init([]) ->
ListenerSup = {edis_listener_sup, {edis_listener_sup, start_link, []},
permanent, 1000, supervisor, [edis_listener_sup]},
ClientSup = {edis_client_sup, {edis_client_sup, start_link, []},
permanent, 1000, supervisor, [edis_client_sup]},
DbSup = {edis_db_sup, {edis_db_sup, start_link, []},
permanent, 1000, supervisor, [edis_db_sup]},
PubSubSup = {edis_pubsub_sup, {edis_pubsub_sup, start_link, []},
permanent, 1000, supervisor, [edis_pubsub_sup]},
NodeSup = {edis_node_sup, {edis_node_sup, start_link, []},
permanent, 1000, supervisor, [edis_node_sup]},
{ok, {{one_for_one, 5, 10}, [NodeSup, PubSubSup, DbSup, ClientSup, ListenerSup]}}.