【问题标题】:Cowboy server exits on start without errors牛仔服务器在启动时退出而没有错误
【发布时间】:2020-09-18 09:30:33
【问题描述】:

我正在运行一个简单的牛仔服务器。这是我的申请文件:

defmodule MyApp.Application do                                                      
  @moduledoc "Application file"                                                    
                                                                                   
  use Application                                                                  
                                                                                   
  def start(_type, _args) do                                                       
    children = [                                                                   
      Plug.Cowboy.child_spec(                                                      
        scheme: :http,                                                             
        plug: MyApp.Web.Endpoint,                                                   
        options: [port: 8000]                                                                                                                                          
      )                                                                            
    ]                                                                              
                                                                                   
    opts = [strategy: :one_for_one, name: MyApp.Supervisor]                         
    IO.puts("Starting...")                                                         
    Supervisor.start_link(children, opts) |> IO.inspect                            
  end                                                                              
end                                                                                

这是我的终点:

defmodule MyApp.Web.Endpoint do                                                     
  @moduledoc """                                                                   
  This is the module responsible for processing incoming requests                  
  """                                                                              
                                                                                   
  use Plug.Router                                                                  
  import Plug.Conn, only: [send_resp: 3]                                           
                                                                                   
  plug(Plug.Logger)                                                                
  plug(:match)                                                                     
  plug(:dispatch)                                                                  
                                                                                   
  get "/ping" do                                                                   
    send_resp(conn, 200, "pong")                                                                                                                                       
  end                                                                              
                                                                                   
end                                                                                

运行mix run 后,我看到了启动日志(“正在启动...”),但我的应用程序立即退出而不是监听连接。如何让它无限期地收听?

【问题讨论】:

    标签: elixir cowboy


    【解决方案1】:

    来自mix run docs

    mix run可以用来启动当前应用的依赖, 应用程序本身,并可选择在其上下文中运行一些代码。为了 长时间运行的系统,这通常使用 --no-halt 选项:

    mix run --no-halt
    

    【讨论】:

      猜你喜欢
      • 2016-08-02
      • 2017-05-16
      • 1970-01-01
      • 2011-06-25
      • 2020-08-22
      • 2014-04-01
      • 2020-10-22
      • 2017-11-28
      相关资源
      最近更新 更多