commit 52: 5628b65efb05
parent 51: 7e514d914eda
branch: default
tags: tip
emongo can somewhat gracefully handle tcp_closed and reconnect later, vsn 0.0.5
Jacob Perkins / japerk
2 weeks ago
emongo / src / emongo_sup.erl
r52:5628b65efb05 27 loc 689 bytes embed / history / annotate / raw /
-module(emongo_sup).

-behaviour(supervisor).

-export([start_link/0, start_pool/3, init/1]).

%%%%%%%%%%%%%%%%
%% public api %%
%%%%%%%%%%%%%%%%

start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []).

start_pool(PoolId, Host, Port) ->
	% emongo_server_sup instances are added dynamically, one for each pool
	supervisor:start_child(?MODULE, {PoolId,
		{emongo_server_sup, start_link, [PoolId, Host, Port]},
		permanent, infinity, supervisor, [emongo_server_sup]
	}).

%%%%%%%%%%%%%%%%%%%%%%%%%%
%% supervisor callbacks %%
%%%%%%%%%%%%%%%%%%%%%%%%%%

init(_) ->
	{ok, {{one_for_one, 10, 10}, [
		{emongo, {emongo, start_link, []},
		 permanent, 5000, worker, [emongo]}
	]}}.