【问题标题】:Does Heroku support ActionController::Live?Heroku 是否支持 ActionController::Live?
【发布时间】:2013-11-09 00:37:55
【问题描述】:

我有一个托管在 Heroku 上的 Rails 应用程序,我想添加服务器发送事件功能,但我找不到任何特定于 Heroku 的文档或博客文章。

由于并非所有服务器(例如 WEBrick)都支持 ActionController::Live 我想知道 Heroku 上的默认服务器是什么以及是否可以配置环境(即更改服务器)以支持 SSE。

任何关于服务器使用和如何配置的进一步建议将不胜感激。

【问题讨论】:

    标签: ruby-on-rails heroku ruby-on-rails-4 server-sent-events


    【解决方案1】:

    我认为我的回答并没有那么大的帮助,但你可以试试。

    首先:

    在 rails root 中的以下内容中创建 Procfile

    web: bundle exec rails server puma -p $PORT -e $RACK_ENV
    

    然后添加到 Gemfile:

    gem 'puma'
    

    在上面你可以切换到 thin,但请考虑下面的链接(以及更多详细信息)

    http://tenderlovemaking.com/2012/07/30/is-it-live.html

    【讨论】:

      【解决方案2】:

      Heroku 不一定是这里的问题 - 它是一个允许您的应用程序运行的环境(我认为是在 Amazon EC2 上)


      多线程服务器

      您必须寻找的是您用来运行应用程序的服务器软件。 Heroku 基本上采用您的服务器 gem 并允许它使用他们的处理器和其他计算能力运行;所以这真的是他们的平台是否可以与正确的服务器打球

      您确实在寻找多线程服务器,您可以在这里找到 Is puma the ONLY multi-threaded rails 4 http server?

      Puma

      Rainbows! 支持多种并发模型,包括多线程

      Zbatery - 机架式 HTTP 服务器,没有卡在其中的分叉

      Phusion Passenger 4 从测试阶段开始就支持多线程

      Thin 确实有一个线程模式,可以通过传递 --threaded 或通过在适当的配置文件中设置 threaded: true (例如 bundle exec thin start --threaded)

      Net::HTTP::Server,虽然没有广告,支持 多线程;极简主义

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-14
        • 2010-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        相关资源
        最近更新 更多