-->

How to get Rails 4 ActionController::Live streamin

2019-02-07 04:45发布

问题:

I get it working with Puma, but with Thin I don't get any stream output and I have to kill the server to stop it. I'm testing using tenderlove's initial example outputing the current time:

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

A more general question to me is, is this type of streaming practical in an app with any significant traffic? I imagine there can be easily hunderts if not thousands of users connected to a stream at once in such app. How would Puma scale here? I read that Puma uses 1 thread per connection. Is that efficient? And what about Thin? Will all connections be in the same thread? Will that be more efficient?

Another issue I have is that even with Puma I only get one connection working locally. When I curl from a second terminal I don't get any output there... Anybody know why?

回答1:

If you change your development.rb inside environments:

/config/environments/development.rb

config.cache_classes = true

config.eager_load = true

You will be able to get more than one connection with puma localy! The downside is that you have to restart everytime you want to see any changes you've made.