OTP應(yīng)用函數(shù) load/2

2018-10-13 14:25 更新

application:load/2

加載一個(gè)應(yīng)用程序

用法:

load(AppDescr, Distributed) -> ok | {error, Reason}

把一個(gè)應(yīng)用程序的描述信息加載到 Erlang 應(yīng)用控制器里。它也會(huì)把其他包含應(yīng)用的描述信息加載進(jìn)來(lái)。這個(gè)函數(shù)不會(huì)加載實(shí)際的 Erlang 目標(biāo) BEAM 代碼。

參數(shù) AppDescr 可以是應(yīng)用的名字,在這種情況下,應(yīng)用控制器將會(huì)搜索代碼目錄路徑下的應(yīng)用資源文件 Application.app,并把該應(yīng)用資源文件包含的描述信息加載進(jìn)來(lái)。

應(yīng)用的描述信息可以直接是一個(gè)描述應(yīng)用的元組,這個(gè)元組是一個(gè)固定格式和內(nèi)容的來(lái)描述該應(yīng)用。

如果 Distributed == {Application,[Time,]Nodes},那么應(yīng)用將會(huì)是分布式加載。給出的參數(shù)值會(huì)覆蓋系統(tǒng)原來(lái)默認(rèn)的分布配置參數(shù)值。參數(shù) Application 必須是應(yīng)用的名字(跟第一個(gè)參數(shù)一樣)。如果一個(gè)節(jié)點(diǎn)崩潰,并且指定了一個(gè) Time 值,那么應(yīng)用控制器會(huì)先等待 Time 毫秒時(shí)間,然后會(huì)嘗試重啟在另一節(jié)點(diǎn)上的應(yīng)用。如果 Time 沒(méi)有指定給出,它默認(rèn)賦值為 0,應(yīng)用將會(huì)立即重啟。

參數(shù) Nodes 是一個(gè)應(yīng)用運(yùn)行的節(jié)點(diǎn)名列表,它的啟動(dòng)優(yōu)先順序是從左到右。節(jié)點(diǎn)名可以是用元組包含起來(lái)的數(shù)據(jù),這樣表示它們是有相同的優(yōu)先權(quán)。例如

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

這樣的話,應(yīng)用會(huì)先在節(jié)點(diǎn) cp1@cave 啟動(dòng)。如果 節(jié)點(diǎn) cp1@cave 啟動(dòng)完畢,應(yīng)用將在節(jié)點(diǎn) cp2@cave 和 cp3@cave 兩者任何之一的節(jié)點(diǎn)上啟動(dòng)。

如果參數(shù) Distributed 是 default,那么系統(tǒng)原來(lái)默認(rèn)的分布配置參數(shù)值將會(huì)被使用。

application:load(crypto, default).
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)