n2o_sample_sup.erl 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. -module(n2o_sample_sup).
  2. -behaviour(supervisor).
  3. %%-include_lib("kvs/include/user.hrl").
  4. -export([
  5. start_link/0,
  6. init/1
  7. ]).
  8. start_link() ->
  9. supervisor:start_link({local, ?MODULE}, ?MODULE,[]).
  10. %-define(USERS, [ #user{id = "maxim", email = "maxim@synrc.com"},
  11. % #user{id = "doxtop", email = "doxtop@synrc.com"},
  12. % #user{id = "roman", email = "roman@github.com"} ]).
  13. init([]) ->
  14. % users:init(), %% todo check debug rest on erl24
  15. % users:populate(?USERS),
  16. kvs:join(),
  17. Params = #{host => application:get_env(n4u, pgs_host, "localhost"), %% gets settings from sys.config
  18. port => application:get_env(n4u, pgs_port, 6432), %% and start postgresql connections pool
  19. username => application:get_env(n4u, pgs_user, "user"),
  20. password => application:get_env(n4u, pgs_pass, "pass"),
  21. database => application:get_env(n4u, pgs_db, "test")},
  22. case epgsql_pool:start(my_main_pool, 10, 50, Params) of
  23. {ok, _} ->
  24. io:format("~p~n", ["pg_pool start !!"]),
  25. ok;
  26. Err ->
  27. io:format("Pool start err: ~p~n~p~n", ["err db connect", Err]),
  28. err
  29. end,
  30. Dispatch = n2o_sample_app:routes(),
  31. cowboy:start_clear(http, [{port, application:get_env(n4u, port, 8000)}], #{env => #{dispatch => Dispatch}}),
  32. {ok, {{one_for_one, 10, 10}, []}}.