Rails 4 Live Streaming コンポーネントを使用しようとしています。ストリームが開いたままになり、新しいリクエストをブロックしているように見えることを除いて、すべて機能します。
アプリケーションを閉じたとき、またはアプリケーション内の新しいリンクをクリックしたときに、接続が適切に閉じられるようにするにはどうすればよいですか?
これは私のライブ イベント コントローラーです。
def events
response.headers["Content-Type"] = "text/event-stream"
redis = Redis.new
redis.psubscribe("participants.*") do |on|
on.pmessage do |pattern, event, data|
response.stream.write("event: #{event}\n")
response.stream.write("data: #{data}\n\n")
end
end
rescue IOError
ensure
redis.quit
response.stream.close
end
データベース設定
production:
adapter: postgresql
encoding: unicode
database: ************
pool: 1000
username: ************
password: ************
timeout: 5000
postgresql 9.2.xを搭載したUbuntu 10.04で、スタンドアロンWebサーバーとしてpumaを使用しています(nginxが提供する必要のある重い静的ファイルはありません)。