浏览代码

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

Karol Sójko 1 年之前
父节点
当前提交
f6bc1c3084
共有 1 个文件被更改,包括 6 次插入17 次删除
  1. 6 17
      packages/domain-events-infra/src/Infra/SQS/SQSXRayEventMessageHandler.ts

+ 6 - 17
packages/domain-events-infra/src/Infra/SQS/SQSXRayEventMessageHandler.ts

@@ -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> {