স্প্যান সিস্টেম কমান্ড চালানোর জন্য ডিজাইন করা একটি কমান্ড। আপনি স্পন চালানোর সময়, আপনি এটিকে একটি সিস্টেম কমান্ড প্রেরণ করুন যা এটি নিজস্ব প্রক্রিয়াতে চালিত হবে, তবে আপনার নোড প্রক্রিয়াতে আর কোনও কোড কার্যকর করবে না। আপনার কোডটি তৈরি হওয়া প্রসেসের সাথে আপনার ইন্টারঅ্যাক্ট করার অনুমতি দেওয়ার জন্য আপনি শ্রোতাদের যোগ করতে পারেন তবে কোনও নতুন ভি 8 উদাহরণ তৈরি করা হয়নি (অবশ্যই যদি আপনার আদেশটি অন্য নোড আদেশ না হয় তবে এই ক্ষেত্রে আপনার কাঁটা ব্যবহার করা উচিত!) এবং আপনার নোড মডিউলটির কেবল একটি অনুলিপি প্রসেসরে সক্রিয় রয়েছে।
কাঁটাচামচ স্প্যানের একটি বিশেষ উদাহরণ, যা ভি 8 ইঞ্জিনের একটি নতুন ঘটনা চালায়। অর্থ, আপনি মূলত একাধিক কর্মী তৈরি করতে পারবেন, ঠিক একই নোড কোড ভিত্তিতে চলমান, বা কোনও নির্দিষ্ট কাজের জন্য সম্ভবত কোনও আলাদা মডিউল। এটি একটি শ্রমিক পুল তৈরির জন্য সবচেয়ে দরকারী। নোডের অ্যাসিঙ্ক ইভেন্টের মডেলটি কোনও মেশিনের একক কোরকে মোটামুটি দক্ষতার সাথে ব্যবহার করার অনুমতি দেয়, এটি কোনও নোড প্রক্রিয়াটিকে মাল্টি কোর মেশিনগুলির ব্যবহার করতে দেয় না। এটি সম্পাদন করার সহজতম উপায় হ'ল একই প্রোগ্রামটির একাধিক কপি একক প্রসেসরে চালানো।
থাম্বের একটি ভাল নিয়ম হ'ল কোর প্রতি এক থেকে দুটি নোড প্রক্রিয়া, সম্ভবত ভাল র্যাম ক্লক / সিপিইউ ক্লক রেশিওযুক্ত মেশিনগুলির জন্য, বা আই / ও-তে ভারী নোড প্রক্রিয়াগুলির জন্য এবং সিপিইউতে হালকা আলো থাকে, ইভেন্টটি ডাউন সময়কে হ্রাস করতে পারে লুপ নতুন ইভেন্টের জন্য অপেক্ষা করছে। তবে, পরবর্তী পরামর্শটি একটি মাইক্রো-অপ্টিমাইজেশান, এবং আপনার পরিস্থিতি অনেক প্রক্রিয়া / কোরের প্রয়োজন অনুসারে উপযুক্ত তা নিশ্চিত করার জন্য যত্নবান বেঞ্চমার্কিংয়ের প্রয়োজন হবে। আপনি আপনার মেশিন / দৃশ্যের জন্য অনেক বেশি কর্মী তৈরি করে কার্যকারিতা হ্রাস করতে পারেন।
পরিশেষে আপনি স্পনকে নোড কমান্ড প্রেরণ করে উপরের মতো এমনভাবে স্প্যান ব্যবহার করতে পারেন। তবে এটি নির্বোধ হবে, কারণ কাঁটাচামড়া ভি 8 উদাহরণ তৈরির প্রক্রিয়াটি অনুকূলকরণের জন্য কিছু কাজ করে। কেবল এটি পরিষ্কার করে দেওয়া, পরিণামে স্প্যানটি কাঁটাচামচকে আবদ্ধ করে। কাঁটাচটি এই বিশেষের জন্য কেবল সর্বোত্তম, এবং খুব দরকারী, ব্যবহারের ক্ষেত্রে।
http://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback
var child = require('child_process').fork('child.js');
আমার প্রধান অ্যাপ্লিকেশনটিতে উদাহরণস্বরূপ বলতে পারি তবে আমার এখন 2 টি পৃথক কোর চলবে। যদি আমি চাইল্ড.জেএস (প্রক্রিয়া) এ লুপের জন্য ভারী চালনা করতাম তবে আমি মূলত পাওয়ার চাইল্ড.জেজে আরও কোর ব্যবহার করব, তাই না? সেই সিপু ব্যবহারটি যদিও আমার মূল অ্যাপ্লিকেশন কোরকে প্রভাবিত করবে?