2013-06-05 19 views
7

मेरी Node.js ऐप्लिकेशन में जो क्लस्टर मॉड्यूल का उपयोग करता है में आवारा ध्यान में न आया अपवाद (ECONNRESET), मैं रुक-रुक कर इस तरह त्रुटियों दिखाई दे रही है:डिबगिंग एक नोड क्लस्टर

events.js:71 
     throw er; // Unhandled 'error' event 
      ^
Error: read ECONNRESET 
    at errnoException (net.js:863:11) 
    at TCP.onread (net.js:524:19) 

यह नीचे मेरे पूरे एप्लिकेशन लाता है, और अब तक एकमात्र तरीका है कि मैं इनसे निपटने में सक्षम हूं process.on('uncaughtException') बाध्यकारी है। मैं अंतर्निहित कारण को समझना चाहता हूं, लेकिन उपरोक्त स्टैक ट्रेस बहुत बेकार है।

वहाँ किसी तरह क्या ये अपवाद पैदा यह पता लगाने की है?

मुझे ध्यान रखना चाहिए कि मैं केवल क्लस्टर मास्टर में देख रहा हूं, न कि मजदूरों, जो मुझे संदेह करने के लिए प्रेरित करता है कि क्लस्टर मॉड्यूल श्रमिकों के साथ कनेक्शन वितरित करने में अपने जादू के तरीके से कुछ करने के लिए कुछ करता है।

+0

के संभावित डुप्लिकेट [कैसे डिबग करने के लिए एक सॉकेट लटका नोडजेएस में त्रुटि?] (http://stackoverflow.com/questions/10814481/how-to-debug-a-socket-hang-up-error-in-nodejs) –

उत्तर

1

इस उत्तर मददगार था: https://stackoverflow.com/a/11542134/233370

असल में, मैं longjohn स्थापित और फिर मूल कारण (मेरे मामले में rabbit.js) यह पता लगाने की पूर्ण async स्टैक ट्रेस प्राप्त करने में सक्षम था।

0

ऐसा लगता है कि व्यक्त सक्षम बनाए रखें जिंदा डिफ़ॉल्ट रूप से। आदेश प्रतिक्रिया के बाद कनेक्शन बंद करने के लिए आप जोड़ सकते हैं res.set("Connection", "close");

वैकल्पिक रूप से आप प्रत्येक प्रतिक्रिया के बाद कनेक्शन बंद करने के लिए अपने ऐप्लिकेशन में मिडलवेयर जोड़ सकते हैं:

app.use(function(req, res, next) { 
     res.set("Connection", "close"); 
     next(); 
    }); 
संबंधित मुद्दे