2014-07-09 5 views
8

के साथ टाइमआउट मैं एमजीओ से एक नक्शा-कम नौकरी चला रहा हूं। यह 3.5 एम रिकॉर्ड से थोड़ा अधिक संग्रह पर चलता है। कुछ कारणों से अभी मैं इसे एकत्रीकरण के लिए बंद नहीं कर सकता; शायद बाद में। तो, मानचित्र-कमी वह चीज है जिसे मैं उम्मीद कर रहा हूं। यह नौकरी, जब मैं मूल जेएस फाइलों से इसे चलाता हूं तो मैंने कोड और आउटपुट का परीक्षण करने के लिए बनाया है, ठीक चलाता है। मैंने मानचित्र डालने और कोड को दो तारों के अंदर कम करने की कोशिश की और फिर mgo को कॉल करने का प्रयास किया। मानचित्र करने के लिए मैपराइडस-मेरे लिए कम करें जहां मैं एक अलग संग्रह में आउटपुट लिख रहा हूं। और यह मेरेigo o mout और mongodb

पढ़ने टीसीपी 127.0.0.1:27017 देता है: मैं/हे टाइमआउट

हालांकि, के रूप में काम में निकाल दिया गया है वापस जमीन यह अभी भी चल रहा है। अब इस धागे के अनुसार --- http://grokbase.com/t/gg/mgo-users/1396d9wyk3/i-o-timeout-in-statistics-generation-upsert

सत्र को कॉल करके हल करना आसान है। SetSocketTimeout लेकिन मैं इसे दस्तावेजों की कुल संख्या के रूप में नहीं करना चाहता जिस पर यह नक्शा-कम हो जाएगा, इस प्रकार, मुझे विश्वास है, समय। इसलिए, मैं इस तरह से इस समस्या को हल करने में सक्षम नहीं हूं।

मेरे अन्य तरीके क्या हैं?

कृपया मेरी मदद करें

+0

नहीं वास्तव में एक जवाब लेकिन आप हमेशा वास्तव में लंबे समय से कुछ करने के लिए समय समाप्ति सेट और अगर देख सकते हैं यह काम करता है, उदाहरण के लिए: 'session.SetSocketTimeout (1 * time.Hour)', जिज्ञासा से भी, जब आप इसे जेएस फ़ाइल से चलाते हैं तो कितना समय लगता है? – OneOfOne

+0

लगभग 10 मिनट। मैंने उस बारे में भी सोचा जो आपने मुझे बताया था। लेकिन जैसा कि आपने बताया है कि यह एक "उचित" समाधान नहीं है। मुझे देखने दो कि मैं किसके साथ आ सकता हूं। – SRC

+1

मुझे सच में नहीं लगता कि इस विशिष्ट समस्या के लिए उचित समाधान है – OneOfOne

उत्तर

13

मेरी टिप्पणी को उत्तर में ले जाएं।

मैं इसे ठीक करने के लिए एक ही रास्ता बस हास्यास्पद उच्च कुछ करने के लिए सॉकेट टाइमआउट स्थापित कर रही है विश्वास करते हैं, उदाहरण के लिए:

session.SetSocketTimeout(1 * time.Hour) 
+0

मेरे लिए काम नहीं किया। इसे देखें: https://github.com/globalsign/mgo/issues/21 –