1.0.0-rc.5 • Published 2 years ago
@equinox-js/message-db-consumer v1.0.0-rc.5
@equinox-js/message-db-consumer
The @equinox-js/message-db-consumer
library provides a convenient API for consuming events from a MessageDB instance.
It's designed to be used with equinox-js projects but can be used in any node application.
Features
- High throughput message consumption
- Integrated checkpointer for resuming from last processed event
- Configurable batch sizes for event fetching
- Support for handling multiple concurrent streams
- Automatic reconnection and backoff
import { MessageDbSource, PgCheckpoints } from "@equinox-js/message-db-consumer"
import pg from "pg"
const checkpointer = new PgCheckpoints(new pg.Pool({ connectionString: "..." }), "public")
await checkpointer.ensureTable() // creates the checkpoints table if it doesn't exist
const pool = new pg.Pool({ connectionString: "..." })
const source = MessageDbSource.create({
pool, // the database pool to use
batchSize: 500, // under the hood the source polls for baches of events, this controls the batch size
categories: ["Invoice"], // list of categories to subscribe to.
groupName: "InvoiceAutoEmailer", // Consumer group name (used for checkpointing and tracing)
checkpointer, // the checkpointer maintains checkpoints on per category per group basis
// Your handler will receive a list of events for a given stream
handler: async (streamName, events) =>
console.log("received", events.length, "events for", streamName),
tailSleepIntervalMs: 100, // If we reach the end of the event store, how long should we wait before requesting a new batch?
maxConcurrentStreams: 10, // How many streams are we OK to process concurrently?
})
const ctrl = new AbortController()
source.start(ctrl.signal)
1.0.0-rc.5
2 years ago
1.0.0-rc.4
2 years ago
1.0.0-rc.3
2 years ago
1.0.0-rc.2
2 years ago
1.0.0-rc.1
2 years ago
1.0.0-alpha.27
2 years ago
1.0.0-alpha.26
2 years ago
1.0.0-alpha.24
2 years ago
1.0.0-alpha.23
2 years ago
1.0.0-alpha.22
2 years ago
1.0.0-alpha.21
2 years ago
1.0.0-alpha.20
2 years ago
1.0.0-alpha.19
2 years ago
1.0.0-alpha.18
2 years ago
1.0.0-alpha.17
2 years ago
1.0.0-alpha.16
2 years ago
0.0.1-codec-revision.1
2 years ago
1.0.0-alpha.15
2 years ago
1.0.0-alpha.14
2 years ago
1.0.0-alpha.12
2 years ago
1.0.0-alpha.11
2 years ago
1.0.0-alpha.10
2 years ago
1.0.0-alpha.9
2 years ago
1.0.0-alpha.8
2 years ago