1.0.1 • Published 1 year ago
cluster-worker v1.0.1
cluster-worker
The cluster-worker is a Node.js module designed to help you perform parallel processing using the built-in cluster module. This module allows you to run multiple worker processes simultaneously, enabling efficient use of CPU resources based on the node:cluster, node:os, node:process
Features
- Distributes tasks across multiple worker processes.
- Automatically restarts workers if they crash.
- Provides status updates on worker activity.
Installation
You can add the cluster-worker to your project by installing it via npm:
pnpm add cluster-worker
yarn install cluster-worker
npm install cluster-workerUsage
// Default:
import { parallelism } from 'cluster-worker';
const task = async (index: number, total: number) => {
console.log(`Worker ${index} of ${total} is running.`);
// Implement your task logic here
};
parallelism(task);// 50% of CPUs:
import { parallelism } from 'cluster-worker';
const task = async (index: number, total: number) => {
console.log(`Worker ${index} of ${total} is running.`);
// Implement your task logic here
};
parallelism(task, 0.5);// 200% of CPUs:
import { parallelism } from 'cluster-worker';
const task = async (index: number, total: number) => {
console.log(`Worker ${index} of ${total} is running.`);
// Implement your task logic here
};
parallelism(task, 2);// 2 CPUs:
import { parallelism } from 'cluster-worker';
const task = async (index: number, total: number) => {
console.log(`Worker ${index} of ${total} is running.`);
// Implement your task logic here
};
parallelism(task, 1, 4);tsup
Bundle your TypeScript library with no config, powered by esbuild.
How to use this
- install dependencies
# pnpm
$ pnpm install
# yarn
$ yarn install
# npm
$ npm install- Add your code to
src - Add export statement to
src/index.ts - Test build command to build
src. Once the command works properly, you will seedistfolder.
# pnpm
$ pnpm run build
# yarn
$ yarn run build
# npm
$ npm run build- Publish your package
$ npm publish