Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Redis mencoba terhubung ke localhost di Heroku alih-alih REDIS_URL

Saya dapat memikirkan dua kemungkinan:

  • Apakah ada sesuatu yang mengatur ENV['REDIS_URL'] sebelum penginisialisasi berjalan? Misalnya mungkin Anda memiliki .env file diperiksa ke git yang menimpa variabel Heroku?

  • Anda mengatakan kode ini dari redis.rb . Apakah Anda memiliki config/initializers/resque.rb juga? Bagaimana dengan config/resque.yml ? Salah satu dari mereka mungkin juga mencoba membuka koneksi Redis. (Jika Anda dapat memposting seluruh jejak tumpukan kesalahan Anda, Anda dapat mengonfirmasi ini atau mengesampingkannya.) Atau apakah Anda menggunakan Redis untuk apa pun selain Resque?

Anda juga dapat melakukan beberapa proses debug printf dan mengubah penginisialisasi Anda menjadi:

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

Itu akan membantu Anda mengklarifikasi apa yang sedang terjadi. (Anda mungkin perlu menggunakan Rails.logger.info alih-alih puts .)

EDIT: Jejak tumpukan itu sangat membantu! Benar saja, penginisialisasi Anda sendiri tidak ada di sana sama sekali, tetapi ada kode lain yang mencoba memuat koneksi redisnya sendiri, di sini:

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)>'

Jika Anda mencari permata itu, Anda dapat melihatnya melakukan ini:

require 'resque'

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

Jadi saya pikir jawabannya adalah untuk mengatur RAILS_RESQUE_REDIS sebagai tambahan ke REDIS_URL . Anda dapat menggunakan config:set Heroku perintah untuk melakukan itu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara menonaktifkan kegigihan dengan redis?

  2. Bagaimana cara meningkatkan kinerja Redis ketika 100% CPU? Berbagi? Klien .Net Tercepat?

  3. Penyortiran dinamis dengan Redis

  4. Spring RedisTemplate :Serialise beberapa kelas Model ke JSON.Perlu menggunakan Multiple RedisTemplates?

  5. Bagaimana menghubungkan ke cluster ElastiCache menggunakan node.js