summaryrefslogtreecommitdiff
path: root/merge/src/merge_dist_sup.erl
blob: a4f7237bdb6b761617a4f9f92a3ac7e79abbc58e (plain)
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
%%% 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([]) ->
    {ok, Nodes} = application:get_env(plop, frontend_nodes),
    lager:info("starting merge dist for frontend nodes: ~p", [Nodes]),
    {ok, Pid} = supervisor:start_link({local, ?MODULE}, ?MODULE, []),
    Children =
        lists:map(fun(Node) ->
                          lager:debug("starting dist worker: ~p", [Node]),
                          {ok, Child} =
                              supervisor:start_child(?MODULE, [Node]),
                          Child
                  end, Nodes),
    lager:debug("supervisor ~p started dist workers: ~p", [Pid, Children]),
    {ok, Pid}.

init(_Args) ->
    {ok,
     {{simple_one_for_one, 3, 10},
      [
       {ignored,
        {merge_dist, start_link, []},
        permanent, 10000, worker,
        [merge_dist]}
      ]}}.