le déploiement redis à heroku impossible de se connecter
ive essayé d'obtenir resque de travailler avec heroku. je peux réussir à le faire fonctionner en mode de développement, cependant lorsque j'essaie de pousser pour heroku-je obtenir
Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
j'ai ensuite lu et suivi http://blog.redistogo.com/2010/07/26/resque-with-redis-to-go/
j'ai mis les configurations répertoriées dans le site, mais n'ai obtenu l'erreur suivante
SocketError (getaddrinfo: nodename nor servname provided, or not known):
j'ai mis dans mon initializers/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)
cependant, il envoyait le message d'erreur mentionné ci-dessus. sur mon dev mode maintenant, je reçois le message d'erreur ainsi.
j'ai essayé d'utiliser mon heroku nom d'utilisateur (im en utilisant l'add-on de heroku), de mettre mon mot de passe pour heroku, et de changer le port de 9254. cependant, je reçois l'erreur de socket maintenant. ce que je fais mal?
aide serait grandement appréciée. merci
Mise à JOUR.
@kevin
j'ai essayé
uri = URI.parse(ENV["my_url_string"] || "redis://localhost:9254/" )
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
dans un initialiseur/redis.rb, mais j'obtiens l'erreur suivante
Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):
les nombres sont dans l'erreur, c'est à dire 127.0.0.1:6379-elle significative? je les ai vérifié mon redis gui application et aussi de heroku config que mon numéro de port est 9254
REDISTOGO_URL => redis://redistogo:[email protected]:9254/
avez-vous d'autres paramètres de configuration? merci pour votre aide!
DERNIÈRE MISE À JOUR.
je l'ai corrigé. je ne peux pas le croire! ma solution est
uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Resque.redis = REDIS
verbatim. il fonctionne sans définition explicite de l'url parce que je suppose que heroku essaie de le configurer pour moi déjà
- La dernière mise à jour fait le travail pour moi. Il devrait aller à
config/initializers/redis.rb
- Super! Vous avez sauvé mon temps. Vous devriez poster votre solution comme une réponse distincte.
Vous devez vous connecter pour publier un commentaire.
Pour ma configuration, j'ai
/config/initializers/redis.rb
avec ces lignes:Mon
REDISTOGO_URL
est définie dans mon heroku de configuration. Vous devriez être en mesure de valider en tapant:Vous allez le voir dans la sortie de la valeur de
REDISTOGO_URL
Vous devez copier votre
REDISTOGO_URL
directement à partir de Redis Aller. Vous le trouverez en allant à l'instance en heroku et en cliquant sur Add Ons -> Redis Aller.Ici sont un couple de pointeurs:
heroku labs:enable user-env-compile -a myapp
pour le faire lire à mon ENV vars cours de déploiement.je l'ai corrigé. je ne peux pas le croire! ma solution est
verbatim. il fonctionne sans définition explicite de l'url parce que je suppose que heroku essaie de le configurer pour moi déjà
J'ai eu la même chose, donc, en gros, Sidekiq n'était pas en attrapant la REDISCLOUD_URL de vars, c'était saisissant REDIS_PROVIDER.
Il a travaillé comme un charme.