2014-01-08 91 views
1

在erlang應用程序中爲應用程序環境變量設置不同值的建議方法是什麼?Erlang應用程序:不同的環境

我的意思是:你的erlang應用程序中如何支持應用程序中的不同環境(例如開發,舞臺,製作)?例如,我想在已知的主機上使用特定的假服務進行測試,生產代碼在不同的主機上使用真實的服務器。

回答

5

您也可以使用應用程序配置文件。您還可以在啓動erlang控制檯時將config作爲參數傳遞,以幫助您設置環境變量。所以你可以通過基於環境的test.config或production.config,無需編譯代碼並啓動它們。

您可以在這裏找到更多信息

http://www.erlang.org/doc/man/config.html

1

依賴注入。

test_setup() -> [ {host,"http://..."}, ... ]. 
prod_setup() -> [ {host,"http://..."}, ... ]. 

test_start() -> start(test_setup()). 
prod_start() -> start(prod_setup()). 

start(Config) -> ... . 

或者,策略模塊。制定一個策略,其界面與您需要的內容匹配,然後傳遞包含您所需策略的模塊的名稱。考慮ETS/DETS。