मैं एक नोड.जेएस सर्वर पर एक वेब ऐप चला रहा हूं और मुझे हर समय ऑनलाइन होने की आवश्यकता है, इसलिए मैं हमेशा के लिए उपयोग कर रहा हूं। लेकिन यहां कुछ समय बाद मुझे क्या मिल रहा है:Node.js - सर्वर ने कनेक्शन बंद कर दिया?
Error: Connection lost: The server closed the connection.
at Protocol.end (/home/me/private/app/node_modules/mysql/lib/protocol/Protocol.js:73:13)
at Socket.onend (stream.js:79:10)
at Socket.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:910:16
at process._tickCallback (node.js:415:13)
error: Forever detected script exited with code: 8
error: Forever restarting script for 3 time
मेरे पास दो और सर्वर हैं जो लगभग 10 दिनों तक सीधे चल रहे हैं। मेरे पास सभी सर्वरों पर "रखरखाव" लूप है, जो प्रत्येक 5 मिनट या उससे भी अधिक "चयन 1" mysql क्वेरी बनाते हैं, लेकिन ऐसा लगता है कि इससे कोई फर्क नहीं पड़ता है।
कोई विचार?
संपादित करें 1
मेरे अन्य सर्वर एक समान त्रुटि दे रहे थे, मुझे लगता है कि यह "कनेक्शन समयबाह्य", तो मैं इस समारोह डाल:
function keepalive() {
db.query('select 1', [], function(err, result) {
if(err) return console.log(err);
console.log('Successful keepalive.');
});
}
और यह मेरे अन्य दो सर्वर तय । लेकिन मेरे मुख्य सर्वर पर मुझे अभी भी त्रुटि मिल रही है।
यहाँ है कैसे मैं अपने मुख्य सर्वर शुरू कर:
var https = require('https');
https.createServer(options, onRequest).listen(8000, 'mydomain.com');
मुझे यकीन है कि कौन-सा कोड देखने में रुचि रखने नहीं कर रहा हूँ। असल में सर्वर एक आरईएसटी एपीआई है और इसे हर समय रहने की जरूरत है। यह लगभग 2-5 हो रहा है, शायद 10 मिनट प्रति मिनट।
ऐसा लगता है कि आपकी एप्लिकेशन स्क्रिप्ट में कुछ त्रुटियां हैं .. त्रुटि देखने के लिए हमेशा के लिए 'node app.js' चलाने की कोशिश कर रहा है। – Sriharsha
लॉग में कोई त्रुटि दिखाई नहीं दे रही है, मैंने इसे नोड-देव के साथ चलाने का प्रयास किया। यह एकमात्र त्रुटि संदेश है जिसे मैं देखता हूं। –
हमें अपने ऐप के बारे में और जानें, इसलिए हम समझ सकते हैं कि क्या हो रहा है। आप mysql के खिलाफ एक सॉकेट खोलते हैं? क्यूं कर? क्या यह एक दूरस्थ डेटाबेस है? – TheBronx