From 7a0190c186b0db4987bba0b6815e7ac741fdf06f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Gerhard=20Lindesva=CC=88rd?= Date: Thu, 18 Jul 2024 14:15:19 +0200 Subject: [PATCH] better error for buffer --- packages/db/src/buffers/buffer.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/db/src/buffers/buffer.ts b/packages/db/src/buffers/buffer.ts index 4d604dfd..20c8d61b 100644 --- a/packages/db/src/buffers/buffer.ts +++ b/packages/db/src/buffers/buffer.ts @@ -23,6 +23,18 @@ export type FindMany = ( callback: (item: QueueItem) => boolean ) => Promise; +const getError = (e: unknown) => { + if (e instanceof Error) { + return [ + 'Name: ' + e.name, + 'Message: ' + e.message, + 'Stack: ' + e.stack, + 'Cause: ' + e.cause, + ].join('\n'); + } + return 'Unknown error'; +}; + export abstract class RedisBuffer { // constructor public prefix = 'op:buffer'; @@ -98,7 +110,7 @@ export abstract class RedisBuffer { ); const timestamp = new Date().getTime(); await this.redis.hset(this.getKey(`failed:${timestamp}`), { - error: e instanceof Error ? e.message : 'Unknown error', + error: getError(e), data: JSON.stringify(queue.map((item) => item.event)), retries: 0, });