-
Notifications
You must be signed in to change notification settings - Fork 2
es cqrs.EventBus
es-cqrs.EventBus
Rate-limited event bus that will put event handlers in a promise chain to avoid concurrency issues on the read side.
This is mainly because insert and update events can come one after another in a rapid succession (especially during replay) and the insert does not finish before the updates, and nothing is updated in the end.
The rate-limiting is based on the aggregate ID.
Note: If an event-handler throws an error, the rest of them will work fine.
-
EventBus<Event>↳
EventBus
• new EventBus(commandBus, moduleRef, unhandledExceptionBus): EventBus
| Name | Type |
|---|---|
commandBus |
CommandBus<ICommand> |
moduleRef |
ModuleRef |
unhandledExceptionBus |
UnhandledExceptionBus<ICommand | IEvent> |
EventBus<Event>.constructor
node_modules/@nestjs/cqrs/dist/event-bus.d.ts:17
• Private limits: Object = {}
▪ [key: string]: Limit
packages/es-cqrs/src/rate-limited-event-bus.ts:19
▸ bind(handler, id): void
| Name | Type |
|---|---|
handler |
IEventHandler<Event> |
id |
string |
void
EventBus.bind