當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang load(AppDescr)用法及代碼示例


load(AppDescr) -> ok | {error, Reason}
load(AppDescr, Distributed) -> ok | {error, Reason}
類型:
AppDescr = Application | (AppSpec :: application_spec())
Application = atom()
Distributed = 
    {Application, Nodes} | {Application, Time, Nodes} | default
Nodes = [node() | tuple_of(node())]
Time = integer() >= 1
Reason = term()
application_spec() =
{應用,
應用::atom(),
AppSpecKeys::[application_opt()]}

application_opt() =
{說明,說明::string()} |
{vsn,vsn::string()} |
{id, id::string()} |
{模塊,[模塊::module()]} |
{已注冊,姓名::[姓名::atom()]} |
{應用程序,[應用程序::atom()]} |
{included_applications,[應用::atom()]} |
{env, [{參數::atom(), 瓦爾::term()}]} |
{start_phases,
[{階段::atom(), 相位參數::term()}] |未定義} |
{最大T,最大T::timeout()} |
{最大P,最大P::integer() >= 1|無窮大} |
{mod,開始::{模塊::module(), 開始參數::term()}}

將應用程序的應用程序規範加載到應用程序控製器中。它還加載任何包含的應用程序的應用程序規範。請注意,該函數不會加載 Erlang 目標代碼。

應用程序可以通過其名稱 Application 來指定。在這種情況下,應用程序控製器在代碼路徑中搜索應用程序資源文件Application.app並加載它包含的規範。

應用程序規範也可以直接指定為元組AppSpec,具有中說明的格式和內容app(4).

如果是 Distributed == {Application,[Time,]Nodes} ,則應用程序變為分布式。該參數會覆蓋內核配置參數 distributed 中應用程序的值。 Application 必須是應用程序名稱(與第一個參數相同)。如果節點崩潰並且指定了 Time,則應用程序控製器會等待 Time 毫秒,然後再嘗試在另一個節點上重新啟動應用程序。如果未指定Time,則默認為0,並立即重新啟動應用程序。

Nodes 是應用程序可以運行的節點名稱列表,優先級從左到右。節點名稱可以使用元組進行分組,以指示它們具有相同的優先級。

例子:

Nodes = [cp1@cave, {cp2@cave, cp3@cave}]

這意味著應用程序最好在 cp1@cave 處啟動。如果 cp1@cave 已關閉,則應用程序將從 cp2@cavecp3@cave 啟動。

如果 Distributed == default ,則使用內核配置參數 distributed 中的應用程序值。

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 load(AppDescr) -> ok | {error, Reason}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。