0
私はRyan BatesチュートリアルのActionController Liveとherokuでアプリをデプロイしています。イベントを除いて、すべてうまくいきます。私たちは赤いつながりを再開すべきだと悲しいことがありました。私はそれをやりません。私はRedisToGoを使って英雄に赤字を実行します。 ここに私のイベントコントローラのアクション:Heroku Redis cant 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のイベントでのコントローラのアクションを解析動作するようになりました。これで
redis = Redis.new(:url => uri)
redis.psubscribe
:
REDIS.psubscribe
どこにRedisのグローバルと交換し、上記の 'Redisの' を持っている
これは問題を解決しません。イベントは起こらず、エラーは発生しません。 – jealrockone
あなたはあなたの設定/初期化子のどこかでREDIS = Redis.newを持っていますか? – court3nay
いいえ、このREDIS = Redis.new(:url => uri)のみ – jealrockone