主页

索引

模块索引

搜索页面

app模块 [1]

结构:

{application, Application,
[{description,  Description},
 {id,           Id},
 {vsn,          Vsn},
 {modules,      Modules},
 {maxP,         MaxP},
 {maxT,         MaxT},
 {registered,   Names},
 {included_applications, Apps},
 {applications, Apps},
 {env,          Env},
 {mod,          Start},
 {start_phases, Phases},
 {runtime_dependencies, RTDeps}]}.

说明:

             Value                Default
             -----                -------
Application  atom()               -
Description  string()             ""
Id           string()             ""
Vsn          string()             ""
Modules      [Module]             []
MaxP         int()                infinity
MaxT         int()                infinity
Names        [Name]               []
Apps         [App]                []
Env          [{Par,Val}]          []
Start        {Module,StartArgs}   []
Phases       [{Phase,PhaseArgs}]  undefined
RTDeps       [ApplicationVersion] []

Module = Name = App = Par = Phase = atom()
Val = StartArgs = PhaseArgs = term()
ApplicationVersion = string()

start_phases:

在调用Module:start/2时,使用:
在调用Module:start_phase(Phase,Type,PhaseArgs)后才返回
所以要指定{mod, {application_starter,[Module,StartArgs]}}
参数start_phases有几条,就要执行几次Module:start_phase/3
如:
  {start_phases, [
    {load_config, []},
    {start_os_monitoring,[{timeout,30000}]},
    {start_clients,[]}]}
  则有以下3个子函数:
  start_phase(load_config, _StartType, _PhaseArgs) ->
  start_phase(start_os_monitoring, _StartType, _PhaseArgs) ->
  start_phase(start_clients, _StartType, _PhaseArgs) ->

registered:

已注册进程的所有名称均在此应用程序中启动
systools使用此列表来检测不同应用程序之间的名称冲突

主页

索引

模块索引

搜索页面