summaryrefslogtreecommitdiff
path: root/merge/src/merge_backup_sup.erl
diff options
context:
space:
mode:
Diffstat (limited to 'merge/src/merge_backup_sup.erl')
-rw-r--r--merge/src/merge_backup_sup.erl23
1 files changed, 23 insertions, 0 deletions
diff --git a/merge/src/merge_backup_sup.erl b/merge/src/merge_backup_sup.erl
new file mode 100644
index 0000000..3c77a8f
--- /dev/null
+++ b/merge/src/merge_backup_sup.erl
@@ -0,0 +1,23 @@
+%%% Copyright (c) 2017, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
+-module(merge_backup_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()}}.
+
+child_spec({Name, Address}) ->
+ {Name, {merge_backup, start_link, [[Name, Address]]},
+ permanent, 10000, worker, [merge_backup]}.
+
+children() ->
+ {ok, Nodes} = plopconfig:get_env(merge_secondaries),
+ {Names, _Addrs} = lists:unzip(Nodes),
+ lager:info("Starting merge backup for secondary merge nodes: ~p", [Names]),
+ [child_spec(Node) || Node <- Nodes].