From f0725c813bbd0ece4df61810033b11386a9b7fec Mon Sep 17 00:00:00 2001 From: samaratungajs Date: Fri, 29 Nov 2024 02:49:02 +0530 Subject: [PATCH] feat: full support for PgBoss ConstructorOptions --- lib/pgboss.module.ts | 18 +++++------------- lib/utils/handleRetry.ts | 13 ------------- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/lib/pgboss.module.ts b/lib/pgboss.module.ts index 9418373..c5aa641 100644 --- a/lib/pgboss.module.ts +++ b/lib/pgboss.module.ts @@ -9,7 +9,7 @@ import { Inject, } from "@nestjs/common"; import { MetadataScanner } from "@nestjs/core"; -import PgBoss from "pg-boss"; +import PgBoss, { ConstructorOptions } from "pg-boss"; import { defer, lastValueFrom } from "rxjs"; import { PgBossService } from "./pgboss.service"; import { LOGGER, PGBOSS_OPTIONS, PGBOSS_TOKEN } from "./utils/consts"; @@ -18,7 +18,7 @@ import { PgBossOptionsFactory, } from "./interfaces/pgboss-module-options.interface"; import { HandlerScannerService } from "./handler-scanner.service"; -import { handleRetry } from "utils/handleRetry"; +import { handleRetry } from "./utils/handleRetry"; @Global() @Module({ @@ -43,18 +43,10 @@ export class PgBossModule const pgBossProvider = { provide: PGBOSS_TOKEN, - useFactory: async (pgBossOptions) => { + useFactory: async (pgBossOptions: ConstructorOptions) => { const boss = await lastValueFrom( - defer(() => - new PgBoss({ - connectionString: pgBossOptions.connectionString, - }).start(), - ).pipe( - handleRetry( - pgBossOptions.retryAttempts, - pgBossOptions.retryDelay, - pgBossOptions.verboseRetryLog, - ), + defer(() => new PgBoss(pgBossOptions).start()).pipe( + handleRetry(pgBossOptions.retryLimit, pgBossOptions.retryDelay), ), ); boss.on("error", (error: Error) => { diff --git a/lib/utils/handleRetry.ts b/lib/utils/handleRetry.ts index d2572c8..90563f0 100644 --- a/lib/utils/handleRetry.ts +++ b/lib/utils/handleRetry.ts @@ -1,16 +1,11 @@ import { of, throwError } from "rxjs"; import { mergeMap, retryWhen, delay } from "rxjs/operators"; -import { LOGGER } from "./consts"; -import { Logger } from "@nestjs/common"; export function handleRetry( retryAttempts = 9, retryDelay = 3000, - verbose = false, toRetry: (err: any) => boolean = (_err: any) => true, ) { - const logger = new Logger(LOGGER); - return (source: import("rxjs").Observable) => source.pipe( retryWhen((attempts) => @@ -19,14 +14,6 @@ export function handleRetry( const includeError = toRetry(error); if (includeError) { - if (verbose) { - logger.warn( - `Attempt ${index + 1}: Retrying in ${ - retryDelay / 1000 - } seconds...`, - ); - } - if (index + 1 >= retryAttempts) { return throwError(() => new Error(error.message)); }