当 mnesia 从程序内停止时,Erlang 应用程序的停止会挂起

发布于 2024-09-13 21:19:24 字数 448 浏览 6 评论 0原文

我遇到了一个问题,我无法在程序中停止记忆而不导致应用程序挂起。

我目前正在我的 erlang 应用程序中进行 mnesia 原型设计。

在我的 jaus_app.erl 文件中,start() 调用:

{atomic, ok} = mnesia:load_textfile("priv/mnesia_prototype.txt")

我的 stop() 函数调用:

mnesia:dump_to_textfile("priv/mnesia_prototype_res.txt"),
mnesia:stop(),

当我注释掉这些行并从 erlang 提示符启动和停止 mnesia 时,我能够干净地停止我的应用程序。

我不应该在成熟的 erlang 应用程序中使用这些原型函数吗?

肯.

I've run into a problem where I cannot stop mnesia within my program without causing the app to hang.

I'm presently doing prototyping of mnesia within my erlang app.

In my jaus_app.erl file the start() calls:

{atomic, ok} = mnesia:load_textfile("priv/mnesia_prototype.txt")

My stop() function calls:

mnesia:dump_to_textfile("priv/mnesia_prototype_res.txt"),
mnesia:stop(),

When I comment out these lines and start and stop mnesia from the erlang prompt, I am able to stop my application cleanly.

Should I not use these prototype functions within a fully fledged erlang app?

Ken.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尤怨 2024-09-20 21:19:24

通过使用 systools 创建启动文件 mnesia 在我的应用程序之前启动,并在我的应用程序关闭后停止。这解决了上面 Legoscia 提到的悬挂问题。启动文件的想法是由 erlang Advisory 的 Mazen 提出的。非常感谢他的建议。

By using systools to create a boot file mnesia is started before my app and stops after my app on shutdown. This fixes the hanging problem which is alluded to by legoscia above. The boot file idea was suggested by Mazen from erlang consulting. Many thanks to him for that suggestion.

满栀 2024-09-20 21:19:24

来自 erlang 文档:

dump_to_textfile(文件名):
转储 mnesia 的所有本地表
系统写入文本文件,然后可以
被编辑(通过普通文本
编辑器),然后重新加载
使用 mnesia:load_textfile/1。 仅使用
此功能用于教育
目的
。使用其他函数来处理
具有真实的备份。

From the erlang docs:

dump_to_textfile(Filename):
Dumps all local tables of a mnesia
system into a text file which can then
be edited (by means of a normal text
editor) and then later be reloaded
with mnesia:load_textfile/1. Only use
this function for educational
purposes
. Use other functions to deal
with real backups.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文