From 044028be71ea8bb5e1dd5fe0ca27061551b44d64 Mon Sep 17 00:00:00 2001 From: Rossb0b Date: Wed, 29 May 2024 16:42:43 +0200 Subject: [PATCH] fix(class/eventManagement/dispatcher): return a promise in interval ctx --- src/class/eventManagement/dispatcher.class.ts | 30 ++++++++----------- .../dispatcher/transaction-handler.class.ts | 1 - src/class/eventManagement/incomer.class.ts | 2 +- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/class/eventManagement/dispatcher.class.ts b/src/class/eventManagement/dispatcher.class.ts index db2176b7..38362d22 100644 --- a/src/class/eventManagement/dispatcher.class.ts +++ b/src/class/eventManagement/dispatcher.class.ts @@ -263,30 +263,26 @@ export class Dispatcher extends EventEmit } }); - this.resolveTransactionsInterval = setInterval(async() => { + this.resolveTransactionsInterval = setInterval(() => { if (!this.isWorking) { return; } - try { - await this.transactionHandler.resolveTransactions(); - } - catch (error) { - this.logger.error({ error: error.stack }, "Failed at resolving transactions"); - } + new Promise(() => { + this.transactionHandler.resolveTransactions() + .catch((error) => this.logger.error({ error: error.stack }, "Failed at resolving transactions")); + }); }, options.checkTransactionInterval ?? RESOLVE_TRANSACTION_INTERVAL).unref(); - this.pingIntervalTimer = setInterval(async() => { - try { - if (!this.isWorking) { - return; - } - - await this.ping(); - } - catch (error) { - this.logger.error({ error: error.stack }, "Failed sending pings"); + this.pingIntervalTimer = setInterval(() => { + if (!this.isWorking) { + return; } + + new Promise(() => { + this.ping() + .catch((error) => this.logger.error({ error: error.stack }, "Failed sending pings")); + }); }, this.pingInterval).unref(); this.checkLastActivityIntervalTimer = setInterval(async() => { diff --git a/src/class/eventManagement/dispatcher/transaction-handler.class.ts b/src/class/eventManagement/dispatcher/transaction-handler.class.ts index c80571ef..d35d284c 100644 --- a/src/class/eventManagement/dispatcher/transaction-handler.class.ts +++ b/src/class/eventManagement/dispatcher/transaction-handler.class.ts @@ -643,7 +643,6 @@ export class TransactionHandler { this.backupIncomerTransactionStore.getTransactions() ]); - const toResolve = []; const incomerStateToUpdate = new Set(); for (const incomer of incomers) { diff --git a/src/class/eventManagement/incomer.class.ts b/src/class/eventManagement/incomer.class.ts index 7e6a9ec0..9e79e330 100644 --- a/src/class/eventManagement/incomer.class.ts +++ b/src/class/eventManagement/incomer.class.ts @@ -8,7 +8,7 @@ import { getRedis, Channel } from "@myunisoft/redis"; -import { Logger, pino } from "pino"; +import { pino } from "pino"; import { P, match } from "ts-pattern"; import { ValidateFunction } from "ajv";