@fab1o/concurrency

0.0.6 • Public • Published

@fab1o/concurrency

Create simulated jobs for concurrency simulation & testing.

Jobs are all async and each job spend a random amount of time between 0 and 9 seconds to finish.

Examples

Create 100 jobs:

import { createJobs } from '@fab1o/concurrency';

// returns an array of 1000 promises
const jobs = createJobs(100);

Executing jobs

const jobs = createJobs(100);

for (const job of jobs) {
  await job();
}

Erroring out given a frequency rate

If we want every other job to throw an error, we set errorRate option to 0.5 (that is 50%)

const jobs = createJobs(2, { errorRate: 0.5 });

for (const job of jobs) {
  try {
    await job();
    console.log('success');
  } catch {
    console.log('error');
  }
}

// error
// success

Readme

Keywords

none

Package Sidebar

Install

npm i @fab1o/concurrency

Weekly Downloads

1

Version

0.0.6

License

ISC

Unpacked Size

16.9 kB

Total Files

8

Last publish

Collaborators

  • fab1o