From 0b40f2734eff04e1719dc18fcbe70f2cfc97ee76 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Tue, 17 Dec 2024 10:37:29 -0500 Subject: sync charts one-at-a-time to reduce database contention and timeouts --- packages/backend/src/core/chart/ChartManagementService.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'packages/backend/src/core/chart') diff --git a/packages/backend/src/core/chart/ChartManagementService.ts b/packages/backend/src/core/chart/ChartManagementService.ts index 316feec6ee..ef65af2432 100644 --- a/packages/backend/src/core/chart/ChartManagementService.ts +++ b/packages/backend/src/core/chart/ChartManagementService.ts @@ -63,9 +63,9 @@ export class ChartManagementService implements OnApplicationShutdown { @bindThis public async start() { // 20分おきにメモリ情報をDBに書き込み - this.saveIntervalId = setInterval(() => { + this.saveIntervalId = setInterval(async () => { for (const chart of this.charts) { - chart.save(); + await chart.save(); } this.logger.info('All charts saved'); }, 1000 * 60 * 20); @@ -75,9 +75,9 @@ export class ChartManagementService implements OnApplicationShutdown { public async dispose(): Promise { clearInterval(this.saveIntervalId); if (process.env.NODE_ENV !== 'test') { - await Promise.all( - this.charts.map(chart => chart.save()), - ); + for (const chart of this.charts) { + await chart.save(); + } this.logger.info('All charts saved'); } } -- cgit v1.2.3-freya