Nearsighted Penguin March

    bulk-insert

    1.2.0 • Public • Published

    Asymmetrical Signing

    NPM version Build status Test coverage Dependency Status License Downloads

    A writable stream that batches.

    Example

    const createBulk = require('bulk-insert')
     
    const onError = (err) => {
      if (err) console.error(err.stack || err)
    }
     
    const writable = createBulk({
      limit: 500, // maximum # of documents to insert at one time
      interval: '0.5s', // minimum interval between flushes,
      onError,
      flush (data) {
        // `data` will be an array
        kinesis.putRecords({
          Records: data.map((x) => ({
            Data: JSON.stringify(x),
            PartitionKey: 'some_key'
          })),
          StreamName: 'some_stream_name'
        }, onError)
      }
    })
     
    writable.write({
      some: 'data'
    })
     
    writable.write({
      some: 'more data'
    })

    API

    const writable = bulkInsert(options)

    Options:

    • limit<Integer>: 1000 - maximum # of documents to insert at one time
    • interval<Number|String>: '300ms' - minimum interval between flushes,
    • onError<Function> - optional function that handles flush() errors
    • flush<Function> - a function with the signature (data<Array>) => {}

    writable.write(data)

    Write data to the stream.

    writable.flush()

    Flush all the data immediately.

    writable.close()

    Flushes immediately and unrefs all future timers, allowing the process to exit gracefully. Even though you are still able to write to the stream after you've closed it, you should not.

    Install

    npm i bulk-insert

    DownloadsWeekly Downloads

    153

    Version

    1.2.0

    License

    MIT

    Last publish

    Collaborators

    • jongleberry