% vim: set expandtab softtabstop=4 shiftwidth=4: %% @hidden -module(taskforce_sup). -behaviour(supervisor). %% API functions -export([start_link/0]). %% Supervisor callbacks -export([init/1]). -define(CHILD(Id, Mod, Type, Args), {Id, {Mod, start_link, Args}, permanent, 5000, Type, [Mod]}). %%%=================================================================== %%% API functions %%%=================================================================== %%-------------------------------------------------------------------- %% @doc %% Starts the supervisor %% %% @spec start_link() -> {ok, Pid} | ignore | {error, Error} %% @end %%-------------------------------------------------------------------- start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []). %%%=================================================================== %%% Supervisor callbacks %%%=================================================================== %%-------------------------------------------------------------------- %% @private %% @doc %% Whenever a supervisor is started using supervisor:start_link/[2,3], %% this function is called by the new process to find out about %% restart strategy, maximum restart frequency and child %% specifications. %% %% @spec init(Args) -> {ok, {SupFlags, [ChildSpec]}} | %% ignore | %% {error, Reason} %% @end %%-------------------------------------------------------------------- init([]) -> ChildrenSpecs = [?CHILD(masters_sup, tf_master_sup, supervisor, []), ?CHILD(minions_sup, tf_minion_sup, supervisor, [])], {ok, {{one_for_one, 5, 10}, ChildrenSpecs}}. %%%=================================================================== %%% Internal functions %%%===================================================================