में मैं कुछ व्यवस्थापक यूटिलिटीज को थोड़ा वेब ऐप, जैसे "बैकअप डेटाबेस" में जोड़ना चाहता हूं। उपयोगकर्ता एक बटन पर क्लिक करेगा और HTTP प्रतिक्रिया तत्काल वापस आ जाएगी, हालांकि पृष्ठभूमि में संभावित रूप से लंबी चल रही प्रक्रिया शुरू हो गई है।"एक धागा स्पंज करें" -like व्यवहार node.js
जावा में यह शायद एक अभिनेता का उपयोग करके स्कैला में एक स्वतंत्र धागे को बढ़ाकर लागू किया जाएगा। लेकिन node.js में उपयुक्त मुहावरे क्या है? (कोड स्निपेट की सराहना की गई)
अब मैं दस्तावेज़ों को फिर से पढ़ रहा हूं, यह वास्तव में एक नोड 101 प्रश्न प्रतीत होता है लेकिन यह काफी है जहां मैं इस पर हूं ... किसी भी तरह, यह स्पष्ट करने के लिए मूल परिदृश्य है:
function onRequest(request, response) {
doSomething();
response.writeHead(202, headers);
response.end("doing something");
}
function doSomething(){
// long-running operation
}
मैं प्रतिक्रिया वापस करना चाहता हूं, पृष्ठभूमि में चल रहे कुछ() को छोड़कर।
ठीक है, नोड के सिंगल-थ्रेड मॉडल को देखते हुए जो किसी अन्य ओएस-स्तरीय चाइल्डप्रोसेस के बिना संभव प्रतीत नहीं होता है। मेरी गलतफहमी
मेरे कोड में मुझे बैकअप के लिए जो चाहिए वह ज्यादातर I/O आधारित है, इसलिए नोड को इसे एक अच्छा एसिंक फैशन में संभालना चाहिए। मुझे क्या लगता है कि मैं करूँगा प्रतिक्रिया को बाद में कुछ करने के लिए कुछ बदलना है, देखें, यह कैसे व्यवहार करता है।
मुझे विश्वास है कि आपने दस्तावेज़ों के माध्यम से ब्राउज़ किया है। http://nodejs.org/docs/v0.4.7/api/index.html मुझे लगता है कि यह आपकी प्रक्रिया की प्रकृति पर निर्भर करता है, लेकिन बाल प्रक्रिया पर नज़र डालें। – supertopi
धन्यवाद। ऐसा लगता है कि मेरी समस्या कैसे नोड काम करता है की गहरी गलतफहमी में जड़ें थी :) बाल प्रक्रिया वह थी जो मुझे दिमाग में थी, हालांकि सबसे आसान समाधान नहीं, नीचे जो की प्रतिक्रिया देखें। – danja