使用www.example.com指定应用程序启动顺序erlang.mk

tyu7yeag  于 2022-12-16  发布在  Erlang
关注(0)|答案(2)|浏览(159)

我正尝试从一个过时的、未经维护的构建工具转换到Erlang.mk。我有一个使用[Erlang.mk][1]创建的版本,但在启动时失败了,我相信是因为应用程序的启动顺序错误。
如何指定应用程序的启动顺序?
我本以为它会按照Makefile的LOCAL_DEPS变量中指定的顺序启动应用程序,但这似乎并没有发生。我已经在文档中查找了所有我能找到的地方,还有谷歌,但没有找到任何东西。

xwbd5t1u

xwbd5t1u1#

顺序不取决于erlang.mk,而是取决于Erlang VM启动应用程序时的顺序。当systools启动特定应用程序时,它会读取.app文件,检查应该先启动哪个应用程序,然后启动它们。只有当所有必备应用程序都成功启动时,才会启动请求的应用程序。请参阅description of the app文件。
Example from here

{application, humbundee,
 [{description, "Humble Bundle downloader written in Erlang"},
  {vsn, "0.0.1"},
  {modules,
   [
    =MODULES=
   ]},
  {registered, [hbd_sup, hbd_get_sup]},
  {applications, [kernel, stdlib, sasl, lager]},
  {mod, {hbd_app, []}}
 ]}.

这表示必须先启动kernelstdlibsasllager,然后才能启动humbundee

hlswsv35

hlswsv352#

它是以.app档案applications清单为基础。每个应用程序及其相依性都会在继续下一个应用程序之前启动。

相关问题