Я следую за Ryan Bates учебником ActionController Live и развертыванием приложения в heroku. Все работает отлично, кроме событий, когда Райан грустно, что мы должны снова открыть связь redis, и я не могу это сделать. Я использую RedisToGo для выполнения redis on heroku. Вот мое события контроллер действие:Heroku Redis can not open connection
def events
response.headers["Content-Type"] = "text/event-stream"
redis = Redis.new(:url => uri)
redis.psubscribe('messages.*') 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
logger.info "Stream closed"
ensure
redis.quit
response.stream.close
end
Также здесь Redis инициализатор:
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:url => uri)
Может кто-нибудь мне помочь?
EDIT
Я получил все, чтобы работать только инициализации клиента с использованием Redis.new(url: ENV["REDISTOGO_URL"])
вместо разбора URI в событиях действия контроллера.
это не решит проблему, событие не произошло, ошибка не была – jealrockone
у вас есть, что REDIS = Redis.new в вашем config/initializers где-то, правильно? – court3nay
нет, только этот REDIS = Redis.new (: url => uri) – jealrockone