Current section

Files

Jump to
epgpool src epgpool_sup.erl
Raw

src/epgpool_sup.erl

-module(epgpool_sup).
-behaviour(supervisor).
-export([start_link/0]).
-export([init/1]).
-define(CHILD(I, Type, Opts),
{I, {I, start_link, Opts}, permanent, 5000, Type, [I]}).
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
init([]) ->
{ok, PoolSize} = application:get_env(epgpool, database_poolsize),
Opts = [
{name, {local, epgpool}},
{worker_module, epgpool_worker},
{max_overflow, 0},
{strategy, fifo},
{size, PoolSize + 1}
],
{ok, {{rest_for_one, 1000, 1}, [
?CHILD(epgpool_conn_sup, worker, []),
?CHILD(epgpool_alive, worker, [Opts]),
?CHILD(poolboy, worker, [Opts])
]}}.