जब हमने डेटाबेस से कनेक्शन फिर से स्थापित करना शुरू किया तो समस्या का समाधान हो गया। हम sequel
. का उपयोग कर रहे थे प्रोजेक्ट पर, और पैसेंजर केवल तभी समस्या को संभालता है जब ActiveRecord का उपयोग किया जाता है।
इस पर विस्तार करने के लिए, डिफ़ॉल्ट रूप से पैसेंजर रूबी ऐप्स के लिए स्मार्ट स्पॉनिंग का उपयोग करता है। यह पहले प्रीलोडर प्रक्रिया को जन्म देता है, जो ढांचे और सभी पुस्तकालयों को लोड करता है। उसके बाद प्रीलोडर प्रक्रिया आवश्यकता पड़ने पर कार्यकर्ता प्रक्रियाओं को जन्म देती है, जो अनुरोधों को संभालती है। कार्यकर्ता प्रक्रियाओं को जन्म देते समय, सभी फ़ाइल डिस्क्रिप्टर प्रीलोडर प्रक्रिया से विरासत में मिले हैं। इसलिए यदि आप डेटाबेस से कनेक्शन को पुन:स्थापित नहीं करते हैं, तो सभी कार्यकर्ता प्रक्रिया प्रीलोडर द्वारा स्थापित एक साझा करती है। जो हर तरह के अजीब व्यवहार की ओर ले जाता है। जैसे अनुरोधों में बहुत अधिक समय लग रहा है।
इससे पहले, हमने वेबसॉकेट कनेक्शन को एक अलग प्रक्रिया में भी स्थानांतरित कर दिया। सुनिश्चित नहीं है कि इसने इस मुद्दे में योगदान दिया है या नहीं।
उस पर और अधिक यहाँ:
अगर कोड प्रीलोडिंग के साथ फोर्किंग वेबसर्वर का उपयोग कर रहे हैं तो डिस्कनेक्ट करें
ए>
एक्शन केबल सर्वर को सब-यूआरआई के तहत एक ही होस्ट और पोर्ट पर चलाना