New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

worker-man

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

worker-man

A better & simple API to consume worker thread in node.js

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
decreased by-63.64%
Maintainers
1
Weekly downloads
 
Created
Source

👷‍♂️ Worker Man

NPM Version ESLint Check GitHub license npm bundle size

https://nodei.co/npm/worker-man.png?downloads=true&downloadRank=true&stars=true

worker-man is a lightweight and easy-to-use package for distributing CPU-intensive operations in Node.js.

This package let's you convert a CPU heavy functions into an async functions, which will run in a worker thread on invocation, it's that simple

Installation

# If you use npm:
npm install worker-man

# Or if you use Yarn:
yarn add worker-man

Online Playground

Use the button below to play with a small demo project to help familiarize with Worker Man.

View on Codesandbox

Usage

Here's a basic example of how to use worker-man.

  1. Create a new file and define your CPU intensive function in it.
  2. Call createWorker with the __filename as first argument and the function you have defined as the second argument.

fibonacci-worker.js

import { createWorker } from 'worker-man';

 // A CPU intensive fibonacci implementation
 export function cpuHeavyFindFibonacci(n){
   if (n < 2) return 1;
   else return cpuHeavyFindFibonacci(n - 2) + cpuHeavyFindFibonacci(n - 1);
 }

 export const findFibonacci = createWorker(__filename, cpuHeavyFindFibonacci);
  1. Save the return value of createWorker, which will be an async function that you can use anywhere in your codebase.

main.js

import { findFibonacci } from './fibonacci-worker.ts'
const main = async () => {
 const fibonacci = await findFibonacci(200); // Here `findFibonacci` will be run in a worker thread
 console.log(fibonacci);
}

In the above example findFibonacci will be run in a worker thread

API

createWorker(filename, workerFunction)

Returns a function that can be used to execute the workerFunction in a separate thread.

Arguments

  • filename (string): The absolute path of the file that creates the worker.
  • workerFunction (function): The function to be executed in the worker thread.

Return value

A function that returns a Promise which resolves to the result of workerFunction.

Author

Aromal Anil

License

Worker Man is MIT licensed.

Keywords

FAQs

Package last updated on 21 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc