2011-04-05 91 views
3

这应该是一个简单的问题,但我不知道我的方法足以找到答案。Erlang消息队列在进程中是否持久?

如果OTP管理程序在发生崩溃后重新启动gen_server,新的子进程会继承崩溃进程的消息队列,还是在崩溃之前发送但尚未由丢弃在地板上的旧子进程处理的消息?

回答

16

不,一个进程永远不会继承前一个进程设置的任何状态。监督员只会重新启动过程,首先使用相同的参数来启动它。

如果你想恢复状态,你应该确保这种状态以持久方式保存(ETS表,磁盘上的文件,数据库等)。

+0

好的,所以消息队列被认为是进程状态的一部分,而不是系统状态? – regularfry 2011-04-05 11:42:05

+0

正确,正常。 – 2011-04-05 13:07:44