Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Я создал специльный модуль «starter», который запускает все зависимости и приложение.
Первое — файл «erl2048.app.src». Не знаю, на самом деле, для чего он нужен, но добавил и свой проект на всякий случай.
Я так понимаю, что эта штука следит, чтобы приложение не падало и перезапускает в случае надобности. Взял из примера — решил оставить.
erl2048_app:start/2
должна возвращать Pid корневого супервизора приложения, у вас же возвращается Pid подключения к БД. Это очень плохо, т.к. будет некорректно работать application:stop и не будет детектиться падение процессов приложения.start() ->
application:start(ranch),
application:start(crypto),
application:start(cowlib),
application:start(cowboy),
application:start(inets),
application:start(mochiweb),
application:start(erl2048).
start() ->
% генератор списков
[application:start(App) || App <- [ranch,crypto, cowlib, cowboy,inets, mochiweb, erl2048]].
app.src
файле и использовать функцию application:ensure_all_started/1
% file: erl2048.app.src
{applications, [
kernel,
stdlib,
ranch,crypto, cowlib, cowboy
]},
% file: erl2048_app.erl
start() -> application:ensure_all_started(erl2048).
start/0
лучше перенести в erl2048_app
.erl -pa ../erl2048/ebin -pa deps/*/ebin -s erl2048_app start -noshell -detached
-s erl2048_app start
).
2048 на Erlang