[erlang-questions] HEART

Dmitry Kolesnikov dmkolesnikov@REDACTED
Tue May 12 18:48:31 CEST 2015


Hello Roberto,

The rebar makes a dirty work to generate "node release” and necessary bootstrap scripts.  Please check create-node command and concept of erlang releases: 
https://github.com/rebar/rebar/wiki/Rebar-commands
http://www.erlang.org/doc/man/reltool.html

It generates script looks something similar to this one. It also hooks the heart to watchdog the node.  
https://github.com/fogfish/hyperion/blob/master/rel/files/hyperion

Personally, I am following an idea to package the application to release and ship it to destination hosts.
Long time ago, I’ve made an empty “erlang release” project as show-case to study and debug various scenarios. You might look on it here:

https://github.com/fogfish/hyperion  

Best Regards, 
Dmitry


> On 12 May 2015, at 19:07, Roberto Ostinelli <roberto@REDACTED> wrote:
> 
> Fair enough, however at this point I cannot even a single one of these systems to simply START *and* STOP an Erlang release.
> I can easily start it (on ubuntu, `sudo service myapp start`) but the STOP command will always fail. That's because the init script cannot get a grasp of the BEAM process' pid (for some reason), hence it cannot stop it.
> 
> Any ideas on how to do that?
> 
> 
> On Tue, May 12, 2015 at 5:52 PM, Jesper Louis Andersen <jesper.louis.andersen@REDACTED <mailto:jesper.louis.andersen@REDACTED>> wrote:
> 
> On Mon, May 11, 2015 at 9:13 PM, Roberto Ostinelli <roberto.ostinelli@REDACTED <mailto:roberto.ostinelli@REDACTED>> wrote:
> In non-erlang systems, I would have standard watchdogs that launch an application on OS boot, and then monitor it and relaunch it if necessary.
> 
> The heart system in Erlang is a simple watchdog, mostly used if you nothing else that will restart your application. In an SysV init system, there is no automatic watching and restart. In RcNG in FreeBSD, there is no restart. In OpenBSDs rc, there is no automatic restart.
> 
> But as you say, many modern init systems also provides watching of the applications it starts, and in that case I wouldn't run with heart enabled. Better to let the system above handle it, and plug into its monitoring/reporting and so on.
> 
> Heart is very useful if you start nodes outside the control of the system watchdog though. In that case, they won't be restarted, and you can run heart on those.
> 
> 
> -- 
> J.
> 
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150512/06643106/attachment.htm>


More information about the erlang-questions mailing list