Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Redis próbuje połączyć się z lokalnym hostem na Heroku zamiast REDIS_URL

Przychodzą mi do głowy dwie możliwości:

  • Czy coś ustawia ENV['REDIS_URL'] przed uruchomieniem inicjatora? Na przykład może masz plik .env plik wpisany do git, który nadpisuje zmienną Heroku?

  • Mówisz, że ten kod pochodzi z redis.rb . Czy masz plik config/initializers/resque.rb? także? A co z config/resque.yml? ? Każdy z nich może być również próbuje otworzyć połączenie Redis. (Jeśli możesz opublikować cały ślad stosu swojego błędu, możesz to potwierdzić lub wykluczyć.) A może używasz Redis do czegoś innego niż Resque?

Możesz także przeprowadzić debugowanie printf i zmienić inicjator tak, aby mówił:

if Rails.env.production?
  puts "production: #{ENV['REDIS_URL']}"
  uri = URI.parse(ENV["REDIS_URL"])
else
  puts "not production"
  uri = URI.parse("redis://localhost:6379")
end

To powinno pomóc ci wyjaśnić, co się dzieje. (Może być konieczne użycie Rails.logger.info zamiast puts .)

EDYTUJ: Ten ślad stosu jest bardzo pomocny! Rzeczywiście, Twojego własnego inicjatora w ogóle tam nie ma, ale jest inny kod, który próbuje załadować własne połączenie redis, tutaj:

remote:        /tmp/build_329306a238b046dda86a54d29db48f4c/vendor/bundle/ruby/2.4.0/gems/resque-web-0.0.9/config/initializers/resque_config.rb:4:in `<top (required)>'

Jeśli spojrzysz na ten klejnot, zobaczysz, że robi to:

require 'resque'

config = ENV.fetch("RAILS_RESQUE_REDIS", "127.0.0.1:6379")
Resque.redis = config

Myślę więc, że odpowiedzią jest ustawienie RAILS_RESQUE_REDIS dodatkowo na REDIS_URL . Możesz użyć Heroku config:set polecenie, aby to zrobić.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Liczba wygasających kluczy wymienionych przez polecenie info na serwerze redis slave nie jest zgodna z tym, co widzę

  2. Tymczasowa awaria ponownego rozpoznawania nazw

  3. Dlaczego klucze Redis nie wygasają?

  4. limit czasu redis z predis

  5. Przekroczono limit połączenia/rozmiaru bufora Redis