я пытался заставить 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 уже пытается настроить его для меня