@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

Dependencies (0)

    Dev Dependencies (11)

    Package Sidebar

    Install

    npm i @fab1o/concurrency

    Weekly Downloads

    0

    Version

    0.0.6

    License

    ISC

    Unpacked Size

    16.9 kB

    Total Files

    8

    Last publish

    Collaborators

    • fab1o