2

我有一个监控两个子进程的主管进程;一个主进程和一个备份进程(以防主进程退出)。

如果主进程在其邮箱中仍有邮件时出现故障,是否有办法让备份进程接管并处理留在原始主进程邮箱中的邮件?

4

2 回答 2

0

如果您指的是进程而不是节点,并且您希望确保所有传入消息都得到处理。无论是通过主进程还是备份进程,最好将传入消息直接存储在 Mnesia 表中。这样您就可以在备份过程中继续处理。

也就是说,我认为您尝试解决的问题可以由 OTP 自动处理。您永远不需要创建备份进程。如果一个崩溃了,你可以告诉主管重新生成相同的 gen_server。

于 2011-08-03T18:37:59.993 回答
0

在这种情况下,我通常所做的是将传入的消息推送到 ets 表中。这有一些微妙之处。在这里进一步讨论

于 2011-08-03T19:08:16.310 回答