द्वारा बाधित नहीं किया जा रहा है। मुझे Google के माध्यम से जानकारी प्राप्त करने में बहुत भाग्य नहीं मिला है, शायद यहां किसी के पास एक समान समस्या है।हेरोकू पर धीमी पोस्टग्रेस क्वेरी को रैक-टाइमआउट
हमारे पास एक पोस्टग्रेस डीबी के साथ हेरोकू पर चलने वाला रेल ऐप है। हमारे पास विशेष रूप से धीमी क्वेरी है (हां, हम क्वेरी को ठीक करने पर काम कर रहे हैं), लेकिन इस समस्या को डीबग करने के दौरान, मैंने देखा कि हमारे रैक-टाइमआउट मणि 15 सेकंड में अनुरोध नहीं मार रहा है। मैंने नींद डालने के माध्यम से एक साइड-टेस्ट किया है (50) और यकीन है कि, उस मामले में रैक-टाइमआउट सही तरीके से काम कर रहा है।
यहां हमारे लॉग की एक प्रतिलिपि बनाई गई प्रतिलिपि है जो दिखाती है कि रैक-टाइम (टाइम अप!) कुछ मिनट बाद हो रहा है और हम अभी भी 30 सेकंड के बाद एच 12 अनुरोध टाइमआउट देख रहे हैं।
2011-12-14T21:15:16+00:00 app[web.2]: Started GET "/search?utf8=%E2%9C%93&terms=foo" for 173.164.186.205 at Wed Dec 14 13:15:16 -0800 2011
2011-12-14T21:15:16+00:00 app[web.2]: search query elapsed time => [0.000365018844604492]
2011-12-14T21:15:46+00:00 heroku[router]: Error H12 (Request timeout) -> GET /search dyno=web.2 queue= wait= service=30000ms status=503 bytes=0
2011-12-14T21:18:47+00:00 app[postgres]: [6-1] [removed] [COBALT] LOG: duration: 211241.725 ms statement: SELECT [truncated]
2011-12-14T21:18:47+00:00 app[web.2]:
2011-12-14T21:18:47+00:00 app[web.2]: ActionView::Template::Error (Timeout::Error: time's up!: SELECT [truncated]):
रैक-टाइमआउट को क्यों और कैसे लागू किया जाए, इस बारे में कोई अंतर्दृष्टि?
प्रतिक्रिया के लिए धन्यवाद। जो मैं खोज रहा हूं वह इस बात का अंतर्दृष्टि है कि मैं अनुरोध को काटने के लिए रैक-टाइमआउट को कैसे मजबूर कर सकता हूं। हम heroku का उपयोग कर रहे हैं और हम pg_gem निर्दिष्ट नहीं करते हैं, heroku करता है। हम गैर-साझा डेटाबेस का उपयोग कर रहे हैं जो संस्करण 9.0.6 पर है। – sorens
दुर्भाग्य से रैक टाइमआउट एक चल रही क्वेरी को मार नहीं सकता है। आपका आवेदन हेरोकू पर पीजी मणि का उपयोग करेगा क्योंकि यह स्लग संकलन प्रक्रिया द्वारा इंजेक्शन दिया गया है। –