重新启动崩溃的进程时保持状态的好方法是什么?
我在 OTP 应用程序中有一个主管,负责监视几个“子系统”gen_server。
例如,一个是“天气”子系统,它每 15 分钟生成一个新的天气状态并处理对当前天气状态的查询。(想想柠檬水摊游戏)
如果该 gen_server 崩溃,我希望它重新启动,但它应该以最近的天气状态重新启动,而不是硬编码在init()
. 仅仅因为坠机,模拟状态突然从“冰雹风暴”变成“轻松愉快”是没有意义的。
由于增加了复杂性,我不愿在每次更新后使用 mnesia 或 ETS 来存储状态;有没有更简单的方法?