आर

2010-08-03 9 views
5

से MySQL odbc टाइमआउट मैं आरओडीबीसी पैकेज का उपयोग कर एक MySQL डेटाबेस से कुछ डेटा पढ़ने के लिए आर का उपयोग कर रहा हूं। तब डेटा संसाधित किया जाता है और कुछ परिणाम डेटाबेस पर वापस भेजे जाते हैं। समस्या यह है कि सर्वर निष्क्रियता के कारण लगभग एक मिनट के बाद कनेक्शन बंद कर देता है, जो स्थानीय रूप से डेटा को संसाधित करने के लिए आवश्यक समय है। यह एक साझा सर्वर है, इसलिए होस्ट टाइमआउट समय को टक्कर नहीं देगा।आर

मुझे लगता है कि इस 1 चारों ओर पाने के लिए) हर डेटाबेस लेनदेन से पहले एक कनेक्शन खोलें और 2 के तुरंत बाद इसे बंद) सर्वर से कुछ छोटे 'पिंग' कमांड भेजें हर 30 सेकंड दो संभावनाएं देखते हैं या तो जाने के लिए सर्वर जानता है कि मैं अभी भी वहां हूं।

मैं पहले काफी आसानी से कार्यान्वित कर सकता हूं, लेकिन यह लगातार खुला और बंद कनेक्शन के लिए बहुत धीमा लगता है। किसी को दूसरे के लिए एक कुशल कमांड पता है? या एक बेहतर तरीका पूरी तरह से?

उत्तर

4

पहला समाधान वह है जिसे मैं पसंद करता हूं। बाद वाले को एक थ्रेडेड प्रोग्राम के साथ करना मुश्किल है जैसे आर। यदि आर व्यस्त चल रहा विश्लेषण है तो पिंग को संभालने का कोई तरीका नहीं है। जब तक आप कनेक्शन खोलने और बंद करने की विधि को सैकड़ों पढ़ते/लिखते नहीं हैं, तब तक अत्यधिक मात्रा में ओवरहेड नहीं पेश करना चाहिए।

+0

अंत में मैं # 1 के साथ गया, वहां बड़ी संख्या है या पढ़/लिखते हैं, लेकिन मुझे लगता है कि 'यह वही है' – stotastic