Erlang:你如何重新加载应用程序env配置?

mwt*_*mwt 5 version-control erlang configuration

如何重新加载应用程序的配置?或者,管理动态应用程序配置的好策略是什么?

例如,假设我有日志级别,我想在运行时更改它们.此外,我们假设这是许多此类选项之一.拥有一个"配置服务器"是否有意义,该配置服务器保存应用程序的其他部分的配置状态以进行查询?人们这样做还是我只是弥补了?

Yas*_*aev 0

我相信将所有配置数据保存在存储库(subversion、mercurial 等)中并让应用程序在每次启动或尝试重新加载某些配置选项时下载它是合理的。这是集中式方法 \xe2\x80\x94 但是您可以拥有许多配置服务器来避免SPOF \xe2\x80\x94 并且它:

\n\n
    \n
  • 允许您跟踪更改,以便您\n知道谁放置了这些以及他何时\n放置了\n(没有人愿意负责\n不正确的配置);
  • \n
  • 使您能够对整个网络中\n的所有应用程序使用相同的配置;
  • \n
  • 更改的容易性:您只需修改\n配置并使用调用gen_server:abcast或其他方式\n通知相关应用程序。
  • \n
\n\n

proplists(3)在读取配置时很有用。

\n