Heroku Redis无法打开连接

时间:2016-05-15 18:19:43

标签: ruby-on-rails heroku redis redistogo

我关注Ryan Bates教程ActionController Live,并在heroku部署应用程序。所有工作都很好,除了事件,瑞安伤心,我们应该重新打开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。

1 个答案:

答案 0 :(得分:0)

替换这个:

REDIS.psubscribe

用这个:

{{1}}

你拥有的任何地方' redis'上面,用REDIS global替换。