summaryrefslogtreecommitdiff
path: root/merge/src/merge_dist_sup.erl
blob: 06bc3847a9efe114b7d0708c3ba0e6b2957d4945 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
%%% Copyright (c) 2017, NORDUnet A/S.
%%% See LICENSE for licensing information.

-module(merge_dist_sup).
-behaviour(supervisor).

-export([start_link/1, init/1]).

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

init(_Args) ->
    {ok, {{one_for_one, 3, 10}, children()}}.

children() ->
    {ok, Nodes} = plopconfig:get_env(frontend_nodes),
    {Names, _Addrs} = lists:unzip(Nodes),
    lager:info("Starting merge dist for frontend nodes: ~p", [Names]),
    [child_spec(Node) || Node <- Nodes].

child_spec({Name, Address}) ->
    {Name, {merge_dist, start_link, [[Name, Address]]},
     permanent, 10000, worker, [merge_dist]}.