Erlang应用:不同的环境
Posted
技术标签:
【中文标题】Erlang应用:不同的环境【英文标题】:Erlang application: different environment 【发布时间】:2014-01-08 22:50:03 【问题描述】:在 erlang 应用程序中为应用程序环境变量设置不同值的推荐方法是什么?
我的意思是:您如何在您的 erlang 应用程序中支持您的应用程序中的不同环境(例如开发、阶段、生产)?例如,我想在已知主机上使用特定的虚假服务进行测试,而生产代码使用不同主机上的真实服务器。
【问题讨论】:
【参考方案1】:您也可以使用应用程序配置文件。您还可以在启动 erlang 控制台时将配置作为参数传递,该控制台可以帮助您设置环境变量。这样你就可以通过 test.config 或 production.config 基于那里的环境,无需编译代码并启动它们。
你可以在这里找到更多信息
http://www.erlang.org/doc/man/config.html
【讨论】:
【参考方案2】:依赖注入。
test_setup() -> [ host,"http://...", ... ].
prod_setup() -> [ host,"http://...", ... ].
test_start() -> start(test_setup()).
prod_start() -> start(prod_setup()).
start(Config) -> ... .
或者,策略模块。制定一个界面与您需要的东西相匹配的策略,然后传入包含您想要的策略的模块的名称。想想 ETS/DETS。
【讨论】:
以上是关于Erlang应用:不同的环境的主要内容,如果未能解决你的问题,请参考以下文章