MicroBatch is a TypeScript library for managing and processing jobs in batches. It provides an easy way to submit jobs and process them in a controlled manner.
- Job submission and batch processing
- Configurable batch size and interval
- Graceful shutdown handling
npm install --save @smilexx2/micro-batching-library --registry=https://npm.pkg.github.com
First, import the necessary classes:
import { MicroBatch, BatchConfig, BatchProcessor, Job } from 'micro-batch';
Then, create a BatchConfig and a BatchProcessor:
const batchConfig = new BatchConfig(10, 1000); // Process batches of 10 jobs every 1000ms
const batchProcessor = new BatchProcessor();
Next, create a MicroBatch instance:
const microBatch = new MicroBatch(batchConfig, batchProcessor);
Now, you can submit jobs to the MicroBatch:
const job = new Job();
microBatch.submit(job);
This project uses Jest for testing. To run the tests, you first need to install the project dependencies. You can do this by running:
npm install
Once the dependencies are installed, you can run the tests with:
npm test
This will run all test files in the project.
Creates a new MicroBatch and starts waiting for jobs.
Submits a job to the MicroBatch
. Returns a Promise
that resolves with a JobResult
.
Shuts down the MicroBatch
, ensuring that all submitted jobs are processed before shutting down. Returns a Promise
that resolves when the shutdown is complete.