【问题标题】:How to start deps application automatcially in Chicago Boss?如何在 Chicago Boss 中自动启动 deps 应用程序?
【发布时间】:2023-03-20 02:09:01
【问题描述】:

我不知道如何在 Chicago Boss 中自动启动“deps”应用程序。

使用applcation:which_applications() 我可以看到一堆像“啤酒、牧场、牛仔……等等”这样的开头。如何开始我添加的另一个?

如果我去控制台运行application:start(oauth2) 就可以了。我可以启动它。

但我尝试更改src/xxx.app.src并将其添加到{applications,[]},但没有成功。这不是加载/启动我所依赖的任何应用程序的地方吗?

但我也找不到boss如何加载和启动所有其他应用程序。

顺便说一句,这个 oauth2 应用程序不包含应用程序行为文件 (oauth2_app.erl),所以我不知道这是否相关。因为我可以手动启动它。

所以,很困惑。任何帮助将不胜感激。

另外:我记得我确实是通过将 application:start(xxx) 添加到 /priv/init/xxx_01_news.erl init 函数来启动应用程序的,但我认为这非常hackish。

【问题讨论】:

    标签: erlang chicagoboss


    【解决方案1】:

    您可以使用rebar.config 添加您的依赖应用程序,然后以这种方式编辑boss.config 文件:

    • 首先:在applications中添加依赖应用名称。
    • 第二:添加他们的具体配置如下。

    boss.config 文件:

    [
       {boss, [
          {path, "./deps/boss"},
          {applications, [your_app_name, your_app_dep_1, your_app_dep_2]},
          {assume_locale, "en"},
    
    %% ... other configuration
    
    %% APPLICATION CONFIGURATIONS
       {your_app_name, []},
       {your_app_dep_1, []},
       {your_app_dep_2, []}                                                                                                                                                                  
    ].                  
    

    编辑: 这样 CB 期望另一个老板应用程序因此查找路由器文件并在找不到它时发出警告。但是,在其 init 函数中启动依赖项并不是一种肮脏的方式,我建议考虑一下。

    【讨论】:

    • 它有效。但是控制台在“deps/oauth2/priv/boss.routes”{error, enoent} 中有错误“缺少或无效的 boss.routes 文件。似乎期待一个老板应用程序。
    • @Jusfeel 是的,它需要另一个老板应用程序,因此查找路由器文件。然而,在 init 函数中启动依赖并不是一种肮脏的方式,我建议考虑一下。我用这个编辑了答案。
    猜你喜欢
    • 2016-09-18
    • 2013-05-04
    • 2014-09-30
    • 2016-01-25
    • 2015-02-03
    • 1970-01-01
    • 2018-07-15
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多