Приложение взаимодейтсвует исключительно с бд Redis. Достаточно использовать стандартный метод запуска:
redis-server
Стандартный порт - 6379, именно такой используется в стандартной конфигурации приложения.
Если у вашего сервера бд используется нестандартный порт, то необходимо поменять значения в конфигурационном файле (см. Конфигурация).
Файлы программы находятся в rebar3-проекте. Для начала работы с ним достаточно в консоли ОС ввести:
rebar3 shell
Тогда rebar3 самостоятельно выполнит компиляцию исходных файлов, загрузит зависимости, выполнит их компиляцию, добавит все .beam-файлы в окружение запущенной erlang-shell.
Приложение содержит тестовый код, проверяющий каждую функцию API. Тесты написаны с применением приложения common_test. Последовательность проведения тестов:
-
Зайти в корень проекта, прописать:
rebar3 ct
-
После прохождения тестов common_test запишет лог в файл _build/test/logs/index.html;
-
Для повторного перепрохождения тестов необходимо очистить тестовую базу.
Сервер запускается по вызову 2-х функций:
- e_message:start(Path), где Path - путь до файла config.json;
- e_message:start(), где путь по умолчанию - "priv/etc/config.json".
В результате выполнения указанных функций будет создано дерево приложения, корень которого расположен в другом процессе.
Корень зарегистрируется под псевдонимом e_message.
Остановка сервера - посылка сообщения в формате {stop,From}, где From - PID отправителя. Супервизор попытается остановить каждый процесс без отмены клиентской транзакции, если же акцептор слишком долго не будет отвечать, то он будет остановлен принудительно.
API сервера подробно описано в документации. Если коротко, то он слушает TCP-порт, по которому приходят текстовые комманды от клиентов в проприетарном формате.
Приложение для конфигурации читает файл priv/etc/config.json. Его структура по умолчанию:
{
"port": 5560,
"acceptors_quantity": 2
}
-
doc - документация проекта:
-
inner - внутренние черновики по темам;
-
pdf - pdf-документ, описывающий проект.
-
-
include - заголовочные файлы с записями;
-
priv - файлы-ресурсы проекта:
- priv/etc - директория с конфигурационными файлами
-
src - исходные файлы.