2014-12-09 5 views
6

मैं रेल 4.1.1 और रूबी 2.1.1 के साथ उसकेोकू का उपयोग कर रहा हूं। मैं heroku के लिए डिफ़ॉल्ट डेटाबेस विन्यास का उपयोग कर रहा हूँ। यही कारण है कि मैंने डेटाबेस.इटल को .gitignore में रखा है और मैं उत्पादन के लिए डेटाबेस.आईएमएल का उपयोग नहीं कर रहा हूं।उसकेोकू के डेटाबेस में पूल और reaping_frequency को ओवरराइड करने के लिए कैसे करें .yml

मुझे "पीजी :: कनेक्शनबैड के लिए समस्या का सामना करना पड़ रहा है: PQsocket() सॉकेट डिस्क्रिप्टर नहीं मिल सकता है" और इस त्रुटि को हल करने के लिए मुझे reaping_frequency सेट करना होगा ('reaping_frequency' यह देखने के लिए सक्रिय रिकॉर्ड बता सकता है कि कनेक्शन हर एन सेकेंड लटका या मर जाते हैं और उन्हें समाप्त कर देते हैं। हालांकि यह संभावना है कि समय के साथ आपके आवेदन में कुछ कनेक्शन हो सकते हैं जो लटकते हैं, अगर आपके कोड में कुछ लटका कनेक्शन पैदा कर रहा है, तो रेपर समस्या का स्थायी समाधान नहीं होगा।)।

अब मैं इस कॉन्फ़िगरेशन को डेटाबेस.आईएमएल में जोड़ना चाहता हूं।

reaping_frequency: 10 

तो मैं सीधे इस विन्यास database.yml से अधिक ओवरराइड के लिए जोड़ना चाहिए या वहाँ किसी भी Heroku में इस आवृत्ति सेट करने के लिए एक और बेहतर तरीका है?

सुझाव के लिए अग्रिम धन्यवाद।

उत्तर

5

अपने config/unicorn.rb या config/puma.rb सेट पूल और config में reaping_frequency में:

config = ActiveRecord::Base.configurations[Rails.env] || 
      Rails.application.config.database_configuration[Rails.env] 
config['pool']    = ENV['DB_POOL'] || 5 
config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10 # seconds 
ActiveRecord::Base.establish_connection(config) 
संबंधित मुद्दे

 संबंधित मुद्दे