Bereitstellen von Redis auf Heroku kann keine Verbindung herstellen
Ich habe versucht, Resque dazu zu bringen, mit Heroku zu arbeiten. Ich kann es im Entwicklungsmodus erfolgreich zum Laufen bringen
Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
Ich las dann und folgtehttp://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/
Ich habe die auf der Website aufgelisteten Konfigurationen angegeben, aber die folgende Fehlermeldung erhalten
SocketError (getaddrinfo: nodename nor servname provided, or not known):
Ich habe meine Initialisierer / 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)
es löst jedoch den oben genannten Fehler aus. In meinem Dev-Modus erhalte ich jetzt auch den Fehler.
Ich habe versucht, meinen Heroku-Benutzernamen zu verwenden (ich verwende das Add-On von Heroku), mein Passwort auf Heroku zu setzen und den Port auf 9254 zu ändern. Ich erhalte jedoch weiterhin den Socket-Fehler. Was mache ich falsch?
Hilfe wäre sehr dankbar. Danke dir
AKTUALISIEREN.
@ Kevin
Ich habe es versucht
uri = URI.parse(ENV["my_url_string"] || "redis://localhost:9254/" )
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
in einem Initialisierer / redis.rb auch, aber ich erhalte den folgenden Fehler
Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
Sind die Zahlen im Fehler, dh 127.0.0.1:6379, signifikant? ive überprüfte meine Redis Gui App und auch von Heroku Config, dass meine Portnummer 9254 ist
REDISTOGO_URL => redis://redistogo:[email protected]:9254/
Hatten Sie andere Konfigurationseinstellungen? Danke fürs Helfen!
ENDGÜLTIGES UPDATE.
ich habe es repariert. Ich kann es nicht glauben! meine komplette lösung ist
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Resque.redis = REDIS
wörtlich. Es funktioniert, ohne die URL explizit festzulegen, da Heroku wahrscheinlich bereits versucht, sie für mich einzurichten