मेरे पास एक नोड.जेएस प्रक्रिया है (एक सर्वर नहीं) जो कि एन बाल प्रक्रियाओं को फोर्क करता है। किसी बिंदु पर 50 से अधिक सीपी हो सकते हैं। इसलिए मैंने यह सोचना शुरू कर दिया कि अगर process.send (आईपीसी) वास्तव में अवरुद्ध हो रहा है तो यह प्रत्येक सीपी द्वारा अनुभव किया जा सकता है। क्योंकि मेरे प्रोग्राम में क्या होता है यह है कि प्रत्येक सीपी एक ही पैरेंट प्रक्रिया को संदेश भेजने के लिए process.send का उपयोग करती है ताकि माता-पिता लॉगिंग कर सकें, ताकि लॉगिंग सिंक्रनाइज़ हो जाए। लेकिन अगर प्रक्रिया कुछ समय पर ब्लॉक करती है तो पैरेंट प्रक्रिया एक बाधा बन सकती है।process.send * nix/windows पर सिंक/async है?
तो सवाल यह है - नोड.जेएस आईपीसी ब्लॉकिंग या निक्स और विंडोज़ पर गैर-अवरुद्ध है? यदि यह अवरुद्ध हो रहा है, और यदि मैं या कोई और वास्तव में असीमित आईपीसी चाहता हूं, तो क्या मुझे संदेश कतार या ज़ीरोएमक्यू या कुछ उपयोग करना चाहिए?
असल में, यदि आप गिथब लिंक पढ़ते हैं, तो यह कहता है कि process.send को सिंक्रोनस नहीं किया गया है, जो सिंक्रोनस नहीं है, जो अच्छी खबर –
"' ChildProcess.prototype.send() 'और' process.send() ' को सिंक्रनाइज़ करने के लिए प्रयुक्त होता था लेकिन libuv/libuv @ 393c1c5 प्रतिबद्ध करने में असीमित बन गया " –