如何为Phoenix应用程序传递自定义erl选项?

时间:2016-03-26 06:42:57

标签: elixir phoenix-framework

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

1 个答案:

答案 0 :(得分:14)

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

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

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

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

以下是elixir命令的用法副本。

  

用法:elixir [options] [.exs file] [data]

     

-v打印版本并退出
    -e“command”计算给定的命令(
    -r“file”需要给定的文件/模式(

    -S“script”查找并执行给定的脚本
    -pr“file”并行需要给定的文件/模式(
    -pa“path”将给定路径添加到Erlang代码路径(

    -pz“path”将给定路径追加到Erlang代码路径(
    --app“app”启动给定的应用及其依赖项(

    --erl“开关”切换到传递给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

中提供此内容