Я пытаюсь использовать компонент 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
Я использую puma в качестве автономного веб-сервера (у меня нет тяжелых статических файлов, которые должны обслуживаться nginx) на Ubuntu 10.04 с postgresql 9.2.x.