Heroku Redis无法打开连接



我遵循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}nn")
        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。

替换此:

redis = Redis.new(:url => uri)
redis.psubscribe

这个:

REDIS.psubscribe

如果您在上面有"redis",请用redis全局替换。

相关内容

  • 没有找到相关文章

最新更新