कुछ गंभीर हैकिंग के बिना नहीं। यह सुनिश्चित करने के लिए रेलों को बहुत सारी परेशानी होती है कि आपकी फ़ाइलों को प्रत्येक अनुरोध पर पुनः लोड किया जाता है (जब cache_classes=false
)। cache_classes
विन्यास चर के मूल्य कई स्थानों में initializers द्वारा किया जाता है कम से कम नहीं है जो जा रहा है की:
require
का उपयोग कर रूबी फ़ाइलें लोड करने के लिए जब cache_classes true
(जिसका अर्थ है कि वे अब फिर से लोड करने कर रहे हैं)
- की स्थापना है डिस्पैचर कॉलबैक हर अनुरोध पर आवेदन reaload जब
cache_classes
false
आप cache_classes
चर के मूल्य के लिए उपयोग किया करते है, और तुम भी बदल देते हैं तो आप की तरह कर सकते हैं:
Rails.configuration.cache_classes = true
लेकिन, इस initializers जहां कि मूल्य जब रेल एप्लिकेशन शुरू होता है केवल एक बार चलाने के लिए किया जाता है के रूप में चल रहा है रेल उदाहरण पर कोई प्रभाव नहीं पड़ेगा।
इसका मतलब यह है कि, जब तक कि आप कुछ गंभीर समय और हैकिंग प्रयास निवेश करने के लिए तैयार नहीं होते हैं, तो आप वास्तव में अपने सर्वर को पुनरारंभ करने से बच नहीं सकते हैं। तो, आपको जो देखने की आवश्यकता है वह आपके परीक्षण सूट के माध्यम से इस पुनरारंभ प्रक्रिया को नियंत्रित कर रहा है।
उदाहरण के लिए आप rails from within rails को पुनरारंभ करने का प्रयास कर सकते हैं।यह आपको एक क्रिया को परिभाषित करने की अनुमति देगा कि आपका परीक्षण सूट निष्पादन शुरू करने से पहले सही हो सकता है (सही मोड में सर्वर को पुनरारंभ करने के लिए), और सभी परीक्षणों के बाद सर्वर हिट कर सकता है, cache_classes
सेट के साथ सबकुछ पुनरारंभ करने के लिए यह क्या होता था। आप पर्यावरण चर like this post suggests के माध्यम से कैश कक्षाओं के मूल्य को नियंत्रित करेंगे।
इसे अभी भी सेट अप करने और इसे एक साथ लटकने के लिए थोड़ा सा काम करने की आवश्यकता होगी, लेकिन यदि आप 'ऑटो-जादुई' समाधान चाहते हैं तो शायद यह आपकी सबसे अच्छी शर्त है।
यह एक बुरा विचार नहीं है कि दो सर्वर समानांतर में चल रहे हों लेकिन यह समस्या को हल नहीं करता है। जब भी मैं परिवर्तन करता हूं तब भी मुझे इस नए परीक्षण सर्वर को पुनरारंभ करने की आवश्यकता होगी। – ilya
मुझे लगता है कि आपको 'कष्टप्रद पुनरारंभ के साथ तेज़ अनुरोध' या 'धीमे अनुरोध जो स्वत: लोड परिवर्तन' –
हाँ, यह वर्तमान मामला है। मैं सिर्फ कुछ समय के लिए "फास्ट मोड" चालू करने में सक्षम होना चाहता हूं। – ilya