इस त्रुटि का एक और संभावित कारण है, और वह है ActiveRecord कनेक्शन पूल रीपर . सक्षम होने पर, रीपर "मृत" कनेक्शन के लिए कनेक्शन पूल को स्कैन करता है और उन्हें बंद कर देता है। मेरे परीक्षण में, यह अति उत्साही प्रतीत होता है और पूरी तरह से जीवित कनेक्शन भी बंद कर देता है (आमतौर पर थोड़े बड़े प्रश्न चलाने वाले)।
reaping_frequency
को साफ़ करने का प्रयास करें अपने डीबी कॉन्फ़िगरेशन से (जो इसे बंद कर देता है) और देखें कि इससे मदद मिलती है या नहीं। उस स्ट्रिंग के लिए अपना कोडबेस स्कैन करें, और सुनिश्चित करें कि यह सेट नहीं है (या बस हटा दिया गया है!)। अगर आपको config['reaping_frequency'] = ENV['DB_REAP_FREQ'] || 10
, पता है कि || 10
वास्तव में 10s का कम डिफ़ॉल्ट सेट कर रहा है। यह पैटर्न कुछ समय के लिए रेल कोडबेस में था, जब तक कि परिवर्तन वापस किया गया
था। इसकी वजह से लंबे समय से चल रही क्वेरी को खत्म करना
सहित कई समस्याएं हो रही हैं। , लेकिन अभी भी हेरोकू द्वारा अनुशंसित
है ।
यदि रीपर को अक्षम करने से चीजें ठीक हो जाती हैं, तो मैं इसे अक्षम करने की सलाह दूंगा। रेल अब इसे डिफ़ॉल्ट रूप से सेट नहीं करती है, और ऐसा लगता है कि इससे हल होने की तुलना में अधिक समस्याएं होती हैं।
मुझे आपकी तरह एक त्रुटि हुई, और इसी तरह मैंने इसे ठीक किया। व्यक्तिगत रूप से, मैं इसे अक्षम रख रहा हूं। मैंने अपनी विशिष्ट समस्या के बारे में अपने ब्लॉगपर अधिक विस्तार से लिखा है। ए> ।