Erlang主管重启间隔

时间:2012-10-10 13:46:05

标签: erlang supervisor

我有一个具有one_for_one重启策略的主管。 是否可以在子进程重启之间设置一些时间间隔?

F.e。远程数据库被压碎,我想在恢复连接尝试之间等待10秒。

1 个答案:

答案 0 :(得分:4)

实际上,您可以让主管立即重启其子节点并实现所谓的延迟初始化

  1. 主管(重新)(立即)启动孩子(例如,gen_server)
  2. gen_server在其init函数中返回0超时
  3. 在handle_info中,您执行主动等待(10秒)以确保数据库已正确初始化
  4. 这样,您可以确保在正确初始化DB之后处理对gen_server的所有请求。

相关问题