diff options
Diffstat (limited to 'merge/src/merge_backup_sup.erl')
-rw-r--r-- | merge/src/merge_backup_sup.erl | 23 |
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]. |