@emartech/object-batcher-js

Used primarily by `@emartech/rabbitmq-client`'s batch consumer.

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
00Apr 29, 2021May 23, 2017Minified + gzip package size for @emartech/object-batcher-js in KB

Readme

Object Batcher

Used primarily by @emartech/rabbitmq-client's batch consumer.

Usage

Initialize


const ObjectBatcher = require('@emartech/object-batcher-js');

const objectBatcher = new ObjectBatcher(callback_fn, {
  batchSize,
  batchTimeout,
  [prefetchCount]
});

The callback function will be called after the batchTimeout expires or the pushed items count reaches the set batchSize or the overall pushed items count reaches the given prefecthCount.

Pushing an item into the object batcher

objectBatcher.add(groupBy, payload);

Different payloads with the same groups will be batched and the callback will be called with (groupBy, payloads) arguments.

Reseting state of batcher

objectBatcher.resetState();

This method is mostly usefull during testing. Before each test case you could call resetState to ensure the leftover state from previous run does not interfere with the current one.


Copyright EMARSYS 2020 All rights reserved.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.