I am trying to stream textual data (XML/JSON) from a Ruby (1.9.1p378) Sinatra (1.0) Rack (1.2.1) application. The suggested solutions (e.g. Is there a way to flush html to the wire in Sinatra) do not seem to work - the server just blocks when I yield elements of some infinite stream (e.g. from %w(foo bar).cycle). I tried webrick and thin as servers.
%w(foo bar).cycle
webrick
thin
Any suggestions on getting this done? Should I use http://sinatra.rubyforge.org/api/classes/Sinatra/Streaming.html and if so how would I use it in my application?
Starting with Sinatra 1.3, you could also use the new streaming API:
get '/evented' do stream(:keep_open) do |out| EventMachine::PeriodicTimer.new(1) { out << "#{Time.now} " } end end
1.4m articles
1.4m replys
5 comments
57.0k users