【发布时间】:2016-05-15 18:19:43
【问题描述】:
我遵循 Ryan Bates 教程 ActionController Live,并在 heroku 部署应用程序。一切正常,除了事件,Ryan 对我们应该重新打开 redis 连接感到难过,而我做不到。我使用 RedisToGo 在 heroku 上执行 redis。 这是我的事件控制器操作:
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)
有人可以帮我吗?
编辑
我只是使用Redis.new(url: ENV["REDISTOGO_URL"]) 初始化客户端而不是在事件控制器操作中解析 URI。
【问题讨论】:
标签: ruby-on-rails heroku redis redistogo