नोडज एक ही प्रक्रिया पर चलाने के लिए बनाया गया है, लेकिन आप spawn अन्य प्रक्रियाओं को कर सकते हैं। cluster मॉड्यूल बच्चे_प्रोसेस मॉड्यूल से fork विधि का उपयोग करता है, लेकिन इसका उद्देश्य प्रक्रियाओं में सर्वर के कनेक्शन वितरित करना और उसी पोर्ट को साझा करना है।
मुझे लगता है कि आप exec चाहते हैं। उदाहरण:
var exec = require('child_process').exec,
child;
var array = ["a", "b", "c", "d", "e"]; // your array of data
var n = array.length; // length
var done = 0; // jobs done
var i = n; // iterator
while(i--) { // reverse while loops are faster
(function (argument) { // A closure
child = exec('node otherFunction.js '+argument, // Spawn the process, with an item from your array as an argument.
function (error, stdout, stderr) {
if (error === null) {
done += 1;
if (done === n) {
console.log('Everything is done');
}
}
});
})(array[i]);
}
ऊपर पाठ्यक्रम बुरा कोड की है और यहां तक कि परीक्षण नहीं किया है, लेकिन मुझे लगता है कि यह काम करेगा। आपको बस इतना करना है कि आप उस क्रिया को कॉल करें जिसे आप सरणी के आइटमों पर otherFunction.js
में कॉल करना चाहते थे, इसके अंदर आपको process.argv
में तर्क मिलेगा।
स्रोत
2012-08-19 10:36:00
मुझे लगता है कि आपको इसकी आवश्यकता है: [क्लस्टर] (http://nodejs.org/api/cluster.html) –
घटना-संचालित प्रोग्रामिंग अब मेरे लिए बहुत असामान्य है .. मेरे कार्य के साथ उपयोग करने के उदाहरणों के साथ कुछ मदद चाहिए .. – elgato
चूंकि नोड.जेएस में धागे नहीं हैं, इसलिए आपको पारंपरिक यूनिक्स प्रोग्रामिंग अवधारणाओं (यानी फोर्किंग, स्पॉन्गिंग और आईपीसी-इंटर प्रोसेस कम्युनिकेशन) के संदर्भ में और सोचने की आवश्यकता है। एक एनपीएम मॉड्यूल है जिसे हुक.ओओ कहा जाता है जो आईपीसी को अपने स्वयं के पेलोड प्रारूप आदि को परिभाषित करने के बजाय अच्छा और नोड जैसा बनाता है, जैसा आम तौर पर मामला होगा: https://github.com/hookio/hook.io – d11wtq