diff options
author | Linus Nordberg <linus@nordu.net> | 2017-01-27 15:11:42 +0100 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2017-02-01 11:14:41 +0100 |
commit | 829ab97fccb991832445862ec8246197a225ecec (patch) | |
tree | 8152c9e6855537661e7b1521ab45df62fd825e15 /merge/src/merge_dist_sup.erl | |
parent | 9d3d360e9bde66c0b2c37a196635bcfe26872ebe (diff) |
Parallelised merge, distribution phase.
Diffstat (limited to 'merge/src/merge_dist_sup.erl')
-rw-r--r-- | merge/src/merge_dist_sup.erl | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/merge/src/merge_dist_sup.erl b/merge/src/merge_dist_sup.erl new file mode 100644 index 0000000..050ddc5 --- /dev/null +++ b/merge/src/merge_dist_sup.erl @@ -0,0 +1,29 @@ +%%% 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, []), + lists:map(fun(Node) -> + lager:debug("starting dist worker: ~p", [Node]), + {ok, Child} = + supervisor:start_child(?MODULE, [Node]), + Child + end, Nodes), + {ok, Pid}. + +init(_Args) -> + {ok, + {{simple_one_for_one, 3, 10}, + [ + {ignored, + {merge_dist, start_link, []}, + permanent, 10000, worker, + [merge_dist]} + ]}}. |