I have a rebar3
project which has some gen_server
implementation. I would like to write an application in such a way, that the release would host that gen_server
as an Erlang node in daemon mode.
Example
There is some gen server:
%% file src/my_gen_server.erl
-module(my_gen_server).
-behaviour(gen_server).
...
I would like to compile the project
$ rebar3 release
Then run it as daemon:
_build/prod/rel/myapp/bin/myapp daemon --setcookie biscuit
In a separate terminal session launch Erlang and connect to it:
$ erl -sname test -setcookie biscuit
1> gen_server:call(my_gen_server, test).
response
How do I set this up? By that question I mean: how to make the application be that gen server, and how to make it accept incoming messages from other nodes, possibly at different machines?