развертывание Redis на героку не удалось подключиться

я пытался заставить resque работать с героку. я могу успешно получить он работает в режиме разработки, однако, когда я пытаюсь нажать на героку, я получаю

Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):

, затем читаю и следую http://blog.redistogo.com/2010/07/26/resque-with-redis-to -go/

я установил конфигурации, перечисленные на сайте, но получил следующую ошибку

SocketError (getaddrinfo: nodename nor servname provided, or not known):

я вставил свои инициализаторы/resque.rb

Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection }

ENV["redis://redistogo:11111111111111111@lab.redistogo.com:9254/"] ||= "redis://heroku_username:heroku_password@host:9254/"
uri = URI.parse(ENV["redis://redistogo:1111111111111111@lab.redistogo.com:9254/"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

однако он выдает ошибку, упомянутую выше. теперь в моем режиме разработки я получаю ошибка также.

я попытался использовать свое имя пользователя heroku (я использую дополнение от heroku), ввести свой пароль для heroku и изменить порт на 9254. однако теперь я продолжаю получать ошибку сокета. что я делаю неправильно?

буду очень признателен за помощь. спасибо

ОБНОВЛЕНИЕ.

@kevin

я пробовал

uri = URI.parse(ENV["my_url_string"] || "redis://localhost:9254/" )
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)

в файле initializer/redis.rb, но получаю следующую ошибку

Errno::ECONNREFUSED (Connection refused - Unable to connect to Redis on 127.0.0.1:6379):

are в числа в ошибке, т.е. 127.0.0.1:6379 значащие? я проверил мое приложение Redis gui, а также из конфигурации heroku, что мой номер порта 9254

REDISTOGO_URL       => redis://redistogo:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@lab.redistogo.com:9254/

, у вас есть какие-либо другие настройки конфигурации? Спасибо за помощь!

ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ.

Я исправил. я не могу в это поверить! мое полное решение —

uri = URI.parse(ENV["REDISTOGO_URL"])
REDIS = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password)
Resque.redis = REDIS

дословно. это работает без явной установки URL, потому что я предполагаю, что heroku уже пытается настроить его для меня

19
задан Sasha 19 May 2012 в 09:09
поделиться