Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस REDIS_URL के बजाय हरोकू पर लोकलहोस्ट से जुड़ने की कोशिश करता है

मैं दो संभावनाओं के बारे में सोच सकता हूं:

  • क्या कुछ सेटिंग है ENV['REDIS_URL'] प्रारंभकर्ता चलने से पहले? उदाहरण के लिए शायद आपके पास .env . है फ़ाइल को गिट में चेक किया गया है जो हेरोकू चर को ओवरराइड कर रहा है?

  • आप कहते हैं कि यह कोड redis.rb . से है . क्या आपके पास config/initializers/resque.rb है भी? config/resque.yml के बारे में क्या? ? इनमें से कोई भी भी . हो सकता है रेडिस कनेक्शन खोलने की कोशिश कर रहा है। (यदि आप अपनी त्रुटि का संपूर्ण स्टैक ट्रेस पोस्ट कर सकते हैं, तो आप इसकी पुष्टि कर सकते हैं या इसे खारिज कर सकते हैं।) या आप Resque के अलावा किसी अन्य चीज़ के लिए Redis का उपयोग कर रहे हैं?

आप कुछ प्रिंटफ डिबगिंग भी कर सकते हैं और अपने इनिशियलाइज़र को यह कहने के लिए बदल सकते हैं:

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

इससे आपको यह स्पष्ट करने में मदद मिलनी चाहिए कि क्या हो रहा है। (आपको Rails.logger.info का उपयोग करने की आवश्यकता हो सकती है के बजाय puts ।)

संपादित करें: वह स्टैक ट्रेस बहुत मददगार है! निश्चित रूप से, आपका अपना प्रारंभकर्ता वहां बिल्कुल नहीं है, लेकिन यहां अन्य कोड है जो अपने स्वयं के रेडिस कनेक्शन को लोड करने का प्रयास कर रहा है:

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

यदि आप उस मणि को देखते हैं, तो आप देख सकते हैं कि वह यह कर रहा है:

require 'resque'

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

तो मुझे लगता है कि उत्तर सेट करना है RAILS_RESQUE_REDIS इसके अलावा करने के लिए REDIS_URL . आप हेरोकू config:set . का उपयोग कर सकते हैं ऐसा करने का आदेश दें।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis बनाम Memcached – 2021 तुलना

  2. क्या कई कमांड पाइपलाइन को रेडिस कर सकते हैं जो पिछले वाले पर निर्भर करते हैं?

  3. सेट के लिए रेडिस के स्कोर और रैंकिंग सुविधाओं के लिए केस का उपयोग करें

  4. क्या रेडिस की तुलना में मेमकैच्ड एक डायनासोर है?

  5. क्या सेलेरी सेलेरीबीट Django के बिना डेटाबेस शेड्यूलर का उपयोग कर सकता है?