gpt4 book ai didi

erlang - 自动重启 Erlang 应用程序

转载 作者:行者123 更新时间:2023-12-04 16:56:34 25 4
gpt4 key购买 nike

我最近遇到了一个错误,整个 Erlang 应用程序都死了,产生了一条日志消息,如下所示:

=INFO REPORT==== 11-Jun-2010::11:07:25 ===
application: myapp
exited: shutdown
type: temporary

我不知道是什么触发了这次关机,但我遇到的真正问题是它没有自行重启。相反,现在空的 Erlang VM 只是坐在那里什么也不做。

现在,根据我所做的研究,您可以为应用程序提供其他“启动类型”:“ transient ”和“永久”。

如果我在应用程序中启动 Supervisor,我可以告诉它使特定进程成为 transient 或永久进程,它会自动为我重新启动它。但是,根据文档,如果我使应用程序成为 transient 或永久应用程序,它在死后不会重新启动它,而是会杀死所有其他应用程序。

我真正想要做的是以某种方式告诉 Erlang VM 一个特定的应用程序应该始终运行,如果它出现故障,请重新启动它。这是可能的吗?

(我不是在谈论在我的应用程序之上实现一个主管,因为那是一个问题 22:如果我的主管进程崩溃怎么办?我正在寻找某种 API 或设置,我可以使用它来让 Erlang 监控和为我重新启动我的应用程序。)

谢谢!

最佳答案

您可以使用 heart如果整个 VM 出现故障,请重新启动整个 VM,然后使用永久应用程序类型来确保 VM 在您的应用程序退出时退出。

最终,您需要在您的应用程序之上需要一些您需要信任的东西,无论是主管进程、erlang VM 还是您编写的某些 shell 脚本——如果它也碰巧失败了,这总是一个问题。

关于erlang - 自动重启 Erlang 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3054640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com