Desplegando redis a heroku no se puede conectar
He estado tratando de obtener un resultado para trabajar con Heroku. Puedo lograr que funcione correctamente en modo de desarrollo, sin embargo, cuando intento empujar a Heroku, obtengo
Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
entonces leí y seguíhttp://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/
Puse las configuraciones enumeradas en el sitio pero obtuve el siguiente error
SocketError (getaddrinfo: nodename nor servname provided, or not known):
Pongo en mis inicializadores / resque.rb
Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection }
ENV["redis://redistogo:[email protected]:9254/"] ||= "redis://heroku_username:heroku_password@host:9254/"
uri = URI.parse(ENV["redis://redistogo:[email protected]:9254/"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Sin embargo arroja el error mencionado anteriormente. en mi modo dev ahora, me sale el error también.
Intenté usar mi nombre de usuario de Heroku (estoy usando el complemento de Heroku), poner mi contraseña en Heroku y cambiar el puerto a 9254. Sin embargo, sigo recibiendo el error de socket ahora. ¿Qué estoy haciendo mal?
La ayuda sería muy apreciada. gracias
ACTUALIZAR.
@kevin
Lo intenté
uri = URI.parse(ENV["my_url_string"] || "redis://localhost:9254/" )
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
en un inicializador / redis.rb también pero me sale el siguiente error
Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
¿Son significativos los números en el error, es decir, 127.0.0.1:6379? Revisé mi aplicación redis gui y también de heroku config que mi número de puerto es 9254
REDISTOGO_URL => redis://redistogo:[email protected]:9254/
¿Tenías otros ajustes de configuración? ¡gracias por ayudar!
ACTUALIZACIÓN FINAL.
Lo arreglé. no puedo creerlo mi solución completa es
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Resque.redis = REDIS
literal. funciona sin establecer explícitamente la url porque supongo que Heroku intenta configurarlo para mí ya