@ms-cloudpack/worker-pool
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

@ms-cloudpack/worker-pool

Provides utilities for simplifying worker execution.

Usage

There are two source files when using workers - the worker entry, which hosts the code to be executed within the worker, and the host source, which instantiates the pool and executes the work.

Setting up a worker entry

First, let's set up the worker entry that will execute work inside the worker. Use initializeWorker to set up your api surface:

workerEntry.ts:

import { initializeWorker } from '@ms-cloudpack/worker-pool';
import { methodA, methodB } from './methods';

// Load any environmental side effects here.

// Then initialize the worker with the appropriate listeners and api dictionary.
initializeWorker({
  beforeEach: () => {...}, // optional
  afterEach: () => {...}, // optional
  methods: {
    methodA,
    methodB,
  },
});

Setting up the pool

In the host where we want to execute things to asynchronously run in the pool of workers:

import { WorkerPool } from '@ms-cloudpack/worker-pool';

const pool = new WorkerPool({ entry: './workerEntry.js' });

Executing work

Work is executed from the pool created above:

const result = await pool.execute('methodA', [arg1, arg2, etc]);

Readme

Keywords

none

Package Sidebar

Install

npm i @ms-cloudpack/worker-pool

Weekly Downloads

102

Version

0.1.2

License

MIT

Unpacked Size

30.6 kB

Total Files

27

Last publish

Collaborators

  • ecraig12345_msft
  • uifabricteam
  • dzearing