2013-03-15 8 views
7

Ich bekomme es mit Puma arbeiten, aber mit Thin bekomme ich keine Stream-Ausgabe und ich muss den Server töten, um es zu stoppen. Ich teste tenderlove anfängliches Beispiel outputing die aktuelle Uhrzeit mit:Wie bekomme ich Rails 4 ActionController :: Live Streaming funktioniert mit Thin und Ruby 2? Und wie skalieren Thin und Puma mit Live-Streaming?

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

Eine allgemeinere Frage an mich ist, ist diese Art der praktischen Streaming in einer App mit nennenswertem Verkehr? Ich stelle mir vor, es kann leicht Hunderte, wenn nicht Tausende von Benutzern auf einmal in einer solchen App verbunden sind. Wie würde Puma hier skalieren? Ich habe gelesen, dass Puma 1 Thread pro Verbindung verwendet. Ist das effizient? Und was ist mit Dünn? Werden alle Verbindungen im selben Thread sein? Wird das effizienter sein?

Ein anderes Problem, das ich habe, ist, dass sogar mit Puma ich nur eine Verbindung lokal arbeiten bekomme. Wenn ich mich von einem zweiten Terminal locke, bekomme ich dort keine Ausgabe ... Jeder weiß warum?

+1

Thin funktioniert bei mir auch nicht mit Rails 4 Streaming. Unterstützt es Streaming überhaupt? Puma läuft gut :) – gucki

Antwort

1

Wenn Sie Ihr development.rb innerhalb Umgebungen ändern:

/config/environments/development.rb

config.cache_classes = true 

config.eager_load = true 

werden Sie in der Lage sein, mehr als eine Verbindung mit Puma zu bekommen localy! Der Nachteil ist, dass Sie jedes Mal neu starten müssen, wenn Sie Änderungen sehen möchten.