【问题标题】:How do pass custom erl options for a Phoenix app?如何为 Phoenix 应用程序传递自定义 erl 选项?
【发布时间】:2020-03-12 17:55:30
【问题描述】:

我的 Phoenix 应用程序达到了 Erlang VM 的最大进程限制,为特定的 Phoenix 应用程序指定 erl 的自定义选项(如 +P)的最佳方法是什么(或者更好,仅适用于 MIX_ENV=PROD)?有没有办法通过应用程序的配置文件来做到这一点?或者如果没有,也许当我运行“mix phoenix.server”时?

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    您可以使用elixir 运行带有--erl 标志的应用程序:

    elixir --erl "+P 10000000" -S mix phoenix.server
    

    如果你想要一个 shell,你可以使用 iex 代替:

    iex --erl "+P 10000000" -S mix phoenix.server
    

    这里是elixir命令用法的副本。

    用法:elixir [选项] [.exs 文件] [数据]

    -v 打印版本并退出
    -e "command" 评估给定的命令 ()
    -r "file" 需要给定的文件/模式 (
    )
    -S "script" 查找并执行给定的脚本
    -pr "file" 需要并行的给定文件/模式 ()
    -pa "path" 将给定路径添加到 Erlang 代码路径 (
    )
    -pz "path" 将给定的路径附加到 Erlang 代码路径 ()
    --app "app" 启动给定的应用程序及其依赖项 (
    )
    --erl "switches" 传递给 Erlang 的开关 (*)
    --name "name" 为分布式节点创建并分配一个名称
    --sname "name" 为分布式节点创建并分配一个短名称
    --cookie "cookie" 为这个分布式节点设置一个cookie
    --hidden 创建一个隐藏节点
    --detached 启动与控制台分离的 Erlang VM
    --werl 使用 Erlang 的 Windows shell GUI(仅限 Windows)
    --no-halt 执行后不停止 Erlang VM

    ** 标有 (*) 的选项可以多次给出
    ** .exs 文件后给出的选项或 -- 传递给执行的代码
    ** 可以使用 ELIXIR_ERL_OPTIONS 或 --erl 将选项传递给 Erlang 运行时

    如果您使用的是exrm,那么您也可以在vm.args 文件https://hexdocs.pm/exrm/release-configuration.html 中提供此信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-15
      • 2011-12-26
      • 1970-01-01
      • 2020-06-04
      • 1970-01-01
      • 1970-01-01
      • 2019-06-01
      相关资源
      最近更新 更多