2013-03-15 31 views
7

Rozumiem, że pracuję z Pumą, ale gdy mam cienki, nie otrzymuję strumienia wyjściowego i muszę zabić serwer, aby go zatrzymać. Ja badania przy użyciu początkowej przykład tenderlove za outputing aktualny czas:Jak zdobyć Rails 4 ActionController :: Strumieniowanie na żywo działa z Thin i Ruby 2? A jak Thin i Puma przeskalowują transmisje na żywo?

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

bardziej ogólne pytanie jest dla mnie, jest to rodzaj transmisji strumieniowej praktyczny w aplikacji z jakiegokolwiek znaczącego ruchu? Wyobrażam sobie, że w takiej aplikacji może być łatwo hundertów, jeśli nie tysięcy użytkowników połączonych ze strumieniem jednocześnie. Jak Puma miałaby się tutaj skalować? Czytałem, że Puma używa 1 wątku na połączenie. Czy to jest wydajne? A co z Thin? Czy wszystkie połączenia będą w tym samym wątku? Czy to będzie bardziej wydajne?

Inną kwestią, którą mam, jest to, że nawet z Pumą uzyskuję tylko jedno połączenie działające lokalnie. Kiedy zwijam się z drugiego terminala, nie mam tam wyjścia ... Czy ktoś wie dlaczego?

+1

Cienkie nie działa dla mnie ani z rails 4 streaming. Czy w ogóle obsługuje streaming? Puma działa dobrze :) – gucki

Odpowiedz

1

Jeśli zmienisz development.rb wewnątrz środowiskach:

/config/environments/development.rb

config.cache_classes = true 

config.eager_load = true 

Będziesz w stanie uzyskać więcej niż jedno połączenie z puma lokalnie! Minusem jest to, że za każdym razem, gdy chcesz dokonać zmian, musisz ponownie uruchomić komputer.