Erlang心跳

时间:2018-04-10 16:55:23

标签: erlang heartbeat erl

我正在尝试创建一个可以在同一网络上的两台不同机器上运行的应用程序,当其中一个应用程序出现问题时,我想使用erlang心跳系统使其重新启动。我怎么能这样做?

我已阅读文档,但尚未弄清楚如何在实践中实现这一目标。

由于

1 个答案:

答案 0 :(得分:1)

您是否具体阅读http://erlang.org/doc/man/heart.html并尝试按照其中的说明进行操作?特别是,您必须首先将环境变量HEART_COMMAND设置为用于重新启动系统的完整命令行。

为了简化这一过程,您可以使用如下的启动脚本:

#!/bin/sh
erl -detached -heart -env HEART_COMMAND "$0 $@" -env HEART_BEAT_TIMEOUT 20 -sname mynode

在某些环境(例如嵌入式系统)中,您可能更喜欢完全重启操作系统,并且可以简单地运行以下内容:

#!/bin/sh
erl -detached -heart -env HEART_COMMAND "reboot" -env HEART_BEAT_TIMEOUT 20 -sname mynode