Error handling gen_服务器类型应用程序的设置状态

Error handling gen_服务器类型应用程序的设置状态,error-handling,erlang,monitor,gen-server,Error Handling,Erlang,Monitor,Gen Server,我正在尝试找出是否可以在给定状态下启动gen_服务器 我希望能够设置一个监视器/监视器,在服务器崩溃时以其最后一个有效状态重新启动服务器 任何关于如何解决这个问题的建议都是非常受欢迎的 到目前为止,我唯一的想法是使用一个特殊的handle_call/3,在调用时将服务器状态更改为所需的状态,但我希望避免修改服务器模块,如果可能的话,完全通过我的监视器/主管进程来处理 谢谢您的时间。gen_server:init接受参数Args。您可以传递任何想要的状态,并将其设置为服务器的状态。您可以将Args

我正在尝试找出是否可以在给定状态下启动gen_服务器

我希望能够设置一个监视器/监视器,在服务器崩溃时以其最后一个有效状态重新启动服务器

任何关于如何解决这个问题的建议都是非常受欢迎的

到目前为止,我唯一的想法是使用一个特殊的handle_call/3,在调用时将服务器状态更改为所需的状态,但我希望避免修改服务器模块,如果可能的话,完全通过我的监视器/主管进程来处理


谢谢您的时间。

gen_server:init接受参数Args。您可以传递任何想要的状态,并将其设置为服务器的状态。您可以将Args传递给start_link,它将为您传递给init

我认为,在你的情况下,你可能希望将状态存储在mnesia中。这样,您就不必将最后一个有效状态传递给gen_服务器。如果您不想启动mnesia,您可以使用ETS。在一些不会消亡的进程中创建公共ETS,并从gen_服务器使用它(请注意,当创建ETS的服务器消亡时,ETS将被销毁)


我非常喜欢你的想法。谢谢你的帮助