代码之家  ›  专栏  ›  技术社区  ›  maerics

Rails/Mongrel中的流式响应

  •  1
  • maerics  · 技术社区  · 14 年前

    我正在尝试在Rails应用程序中发送流式响应,特别是使用 multipart/x-mixed-replace 内容类型。据我所知,Rails不支持流式响应,因为容器在向客户端发送任何内容之前会尝试缓冲并确定响应主体的长度。

    顺便说一句,我们正在用Mongrel部署Rails应用程序,看起来 custom Mongrel handlers can stream data fine and even play nice with Rails apps . 我已经能够创建一个自定义处理程序,但我不知道如何让它与Rails应用程序一起工作。

    /foo.* 转到自定义处理程序和所有其他由Rails处理的处理程序。有人能建议如何做到这一点吗?我似乎无法复制上面链接文章的结果。或者有没有更简单的方法让Rails处理程序生成一个开放式流式响应?

    1 回复  |  直到 14 年前
        1
  •  0
  •   maerics    14 年前

    罪魁祸首是在OSX上安装的一个伪混血儿。一个正确的安装工程罚款使用指导从 linked article 使用如下简单的处理程序:

    # foo_handler.rb
    class FooHandler < Mongrel::HttpHandler
      # def process(req, res); streaming_impl; end 
    end
    # Usage: mongrel_handler start -S foo_handler.rb
    uri "/foo", :handler => FooHandler.new