diff options
| author | Linus Nordberg <linus@nordu.net> | 2017-01-27 15:11:42 +0100 |
|---|---|---|
| committer | Linus Nordberg <linus@nordu.net> | 2017-01-30 09:54:40 +0100 |
| commit | e99900eb05cdb2f5fecb01c987396b49a0a31aa0 (patch) | |
| tree | 17b3f480f2086e692e091337c53be9e558c59e06 /merge/src/merge_dist_sup.erl | |
| parent | 85b20a1a07e0eb9e4a7c0cedc169b2ad210b30b6 (diff) | |
Parallelised merge, distribution phase.
Diffstat (limited to 'merge/src/merge_dist_sup.erl')
| -rw-r--r-- | merge/src/merge_dist_sup.erl | 31 |
1 files changed, 31 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..a4f7237 --- /dev/null +++ b/merge/src/merge_dist_sup.erl @@ -0,0 +1,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]} + ]}}. |
