diff --git a/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/dispose.ts b/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/dispose.ts index b8662a4a4..8a00cba0d 100644 --- a/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/dispose.ts +++ b/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/dispose.ts @@ -7,22 +7,28 @@ const dispose = async (pool: AdapterPool): Promise => { if (pool.connection != null) { const log = getLog('dispose') - const extraClient = pool.extraConnections.values() + const extraClients = Array.from(pool.extraConnections.values()) pool.extraConnections.clear() - //TODO: Promise.allSettled - for (const client of extraClient) { - try { - await client.end() - } catch (error) { - log.error(`Could not end extra client connection: ${error}`) + const endResults = await Promise.allSettled( + extraClients.map((client) => client.end()) + ) + for (const result of endResults) { + if (result.status === 'rejected') { + log.error(`Could not end extra client connection: ${result.reason}`) } } - //TODO: Promise.allSettled - const loaders = pool.eventLoaders.values() - for (const loader of loaders) { - await loader.close() + const loaders = Array.from(pool.eventLoaders.values()) + pool.eventLoaders.clear() + + const closeResults = await Promise.allSettled( + loaders.map((loader) => loader.close()) + ) + for (const result of closeResults) { + if (result.status === 'rejected') { + log.error(`Could not close event loader connection: ${result.reason}`) + } } const connection = pool.connection diff --git a/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/execute-statement.ts b/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/execute-statement.ts index 7b9673ceb..ba576a0fd 100644 --- a/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/execute-statement.ts +++ b/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/src/execute-statement.ts @@ -55,7 +55,9 @@ const executeStatement = async ( throw new ServiceBusyError(error.message) } reconnectionTimes++ - await new Promise((resolve) => setTimeout(resolve, SERVICE_WAIT_TIME)) + await new Promise((resolve) => + setTimeout(resolve, delayBeforeReconnection) + ) continue } else { throw makeConnectionError(error) diff --git a/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/tsconfig.json b/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/tsconfig.json index 9955b623e..06d1eb50a 100644 --- a/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/tsconfig.json +++ b/packages/runtime/adapters/eventstore-adapters/eventstore-postgresql/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "es2018", + "target": "es2020", "module": "commonjs", "moduleResolution": "node", "allowJs": true,