2016-07-09 9 views
1

Ich bin ein Anfänger Rails dev Aufbau einer App verbunden mit redis + sidekiq. Ich muss einen Konfigurationsfehler haben, aber ich bin mir nicht sicher, was genau es ist. Im Folgenden werde ich darüber schreiben, was mich genau verwirrt hier:SocketError at/sidekiq/getaddrinfo: nodename noch servname zur Verfügung gestellt, oder nicht bekannt

Auf Schienen s läuft, bekomme ich folgende Fehlermeldung:

2016-07-09 08:55:46 - SocketError - getaddrinfo: nodename nor servname provided, or not known: 
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/connection/ruby.rb:177:in `getaddrinfo' 
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/connection/ruby.rb:177:in `connect' 
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/connection/ruby.rb:260:in `connect' 
/Users/rohitrekhi/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/redis-3.3.0/lib/redis/client.rb:336:in `establish_connection' 

Also habe ich es ein redis Verbindungsfehler sein muss. Wenn ich ping redis, um zu sehen, ob die Verbindung durchläuft, zeigt es die folgende:

$ redis-cli ping 
=> PONG 

Wenn also die redis Verbindung durchläuft, vielleicht ist es ein Sidekiq Problem?

ich implementiert, um die Sidekiq Web-Interface über Sinatra, und bekam die folgende Fehlermeldung, wenn ich es sehen wollte:

SocketError at /sidekiq/ 
getaddrinfo: nodename nor servname provided, or not known 

So, jetzt tatsächlich über Sidekiq der Fehler vermute ich, aber ich bin nicht Sicher, wo ich den Ball über Konfigurationen auf dem Host/Server/Sockets fallen gelassen habe. Irgendwelche Ideen, was genau das verursacht und ob es sich um einen Fehler bei Sidekiq oder um ein Redis handelt?

Dies ist meine initializer Datei für sidekiq in config/initializers/sidekiq.rb:

Sidekiq.configure_server do |config| 
config.redis = { url: 'redis://redis.example.com:6379/12', network_timeout: 5 } 
end 

Sidekiq.configure_client do |config| 
    config.redis = { url: 'redis://redis.example.com:6379/12', network_timeout: 5 } 
end 

Und das ist meine config/initializer/redis.rb:

$redis = Redis.new(:host => 'localhost', :port => 6379) 

Ich habe auch Ich habe drei Terminalfenster geöffnet, die den Redis-Server, sidekiq und meinen Rails-Server einschalten.

Vielen Dank im Voraus!

Antwort

1

Das macht keinen Sinn:

redis://redis.example.com:6379/12 

Sie brauchen keinen Redis Server zu dieser URL haben; fixiere die URL