fix(domain-events-infra): handling async functions

This commit is contained in:
Karol Sójko
2023-10-04 14:01:46 +02:00
parent 4203ff9a0c
commit f6bc1c3084
@@ -32,24 +32,13 @@ export class SQSXRayEventMessageHandler implements DomainEventMessageHandlerInte
this.logger.debug(`Received event: ${domainEvent.type}`)
const xRaySegment = new Segment(domainEvent.type)
await captureAsyncFunc(domainEvent.type, async (subsegment?: Subsegment) => {
await handler.handle(domainEvent)
if (domainEvent.meta.correlation.userIdentifierType === 'uuid') {
xRaySegment.setUser(domainEvent.meta.correlation.userIdentifier)
}
await captureAsyncFunc(
`${handler.constructor.name}.handle}`,
async (subsegment?: Subsegment) => {
await handler.handle(domainEvent)
if (subsegment) {
subsegment.close()
}
xRaySegment.close()
},
xRaySegment,
)
if (subsegment) {
subsegment.close()
}
})
}
async handleError(error: Error): Promise<void> {