• 更新应用规格

    更新应用规格

    当安装了某个发布的新版本,应用规格会为所有应用进行自动更新。

    Note

    关于新的应用规格的信息是从包含在发布包中的启动脚本中获得的。因此要确保启动脚本是由和用于构建发布包自身的 .rel 文件是同一个。

    特别是,应用配置参数会根据以下数据(优先级从低到高)自动更新:

    • 在启动脚本中的数据,即从新的应用资源文件 App.app 中获得的
    • 新的 sys.config
    • 命令行参数 -AppParVal这还表示在其他系统配置文件中设置的参数值,包括使用 application:set_env/3 设置的值,都是不考虑的。

    当某个已安装的发布被设为持久的,系统进程 init 会设置指向新的 sys.config

    在安装完成之后,应用控制器会为所有运行的应用比较新旧配置参数并调用以下回调函数:

    1. Module:config_change(Changed, New, Removed)

    Module 是由 .app 文件中 mod 所定义的应用回调模块。 ChangedNew{Par,Val} 的列表,分别对应所有更改的和添加的配置参数。 Removed 是所有被删除的参数 Par 的列表。

    该函数是可选的,在实现应用回调模块时可以忽略。