gpt4 book ai didi

erlang - 如何使用Erlang OTP主管行为以自定义状态重新启动子级?

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

我正在使用OTP主管行为来监督和重新启动子进程。但是,当 child 死亡时,我想以崩溃前的相同状态重新启动它。

如果我编写自己的自定义主管,则仅会收到{EXIT,Pid,Reason}消息并对其执行操作。但是,当使用OTP管理员行为时,所有行为均由OTP管理,而我对此无能为力。我实现的唯一回调函数是init。

在这种情况下是否有任何标准方法?如何自定义otp主管动态重新启动的 child 的状态?如何使用OTP得知终止过程?还是有可能在终止之前获得 child 的状态,然后将 child 恢复到崩溃前的状态?

最佳答案

可能以相同状态重启不是一个好主意。可能是错误的状态导致进程崩溃,并且如果您以相同的状态重新启动,它将再次崩溃。但是,如果您要这样做,请使用外部资源来保存它(例如ets或mnesia)。

关于erlang - 如何使用Erlang OTP主管行为以自定义状态重新启动子级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13562954/

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