-module(otp_parser_sup). -behaviour(supervisor). %% API -export([start_link/0]). %% Supervisor callbacks -export([init/1]). -define(SERVER, ?MODULE). %%%=================================================================== %%% API functions %%%=================================================================== %%-------------------------------------------------------------------- %% @doc %% Starts the supervisor %% %% @spec start_link() -> {ok, Pid} | ignore | {error, Error} %% @end %%-------------------------------------------------------------------- start_link() -> supervisor:start_link({local, ?SERVER}, ?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([]) -> RestartStrategy = one_for_one, MaxRestarts = 1000, MaxSecondsBetweenRestarts = 3600, SupFlags = {RestartStrategy, MaxRestarts, MaxSecondsBetweenRestarts}, ParseServer = {server, {otp_parser, start_link, []}, permanent, 2000, worker, [otp_parser]}, GraphBuilder = {builder, {graph_builder, start_link, []}, permanent, 2000, worker, [graph_builder, dot]}, FileServer = {fs, {erlesy_fs, start_link, []}, permanent, 2000, worker, [erlesy_fs]}, {ok, {SupFlags, [ParseServer, GraphBuilder, FileServer]}}. %%%=================================================================== %%% Internal functions %%%===================================================================