diff options
| author | かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com> | 2025-01-11 22:43:42 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-11 13:43:42 +0000 |
| commit | c4192e81ed30292a06b85e7b00578ca87c97d076 (patch) | |
| tree | f63b8b953a37284721b4a04772c8d905126626c4 /packages/backend/src/queue/processors/TickChartsProcessorService.ts | |
| parent | fix(frontend-embed): 型チェックエラーを修正 (#15216) (diff) | |
| download | sharkey-c4192e81ed30292a06b85e7b00578ca87c97d076.tar.gz sharkey-c4192e81ed30292a06b85e7b00578ca87c97d076.tar.bz2 sharkey-c4192e81ed30292a06b85e7b00578ca87c97d076.zip | |
enhance(backend): チャートの処理を一つずつ行うことでDBの同時接続とタイムアウトを削減 (#15239)
* sync charts one-at-a-time to reduce database contention and timeouts
* fix merge resolve failure
* Update Changelog
* update changelog
* add comments
---------
Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
Diffstat (limited to 'packages/backend/src/queue/processors/TickChartsProcessorService.ts')
| -rw-r--r-- | packages/backend/src/queue/processors/TickChartsProcessorService.ts | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/packages/backend/src/queue/processors/TickChartsProcessorService.ts b/packages/backend/src/queue/processors/TickChartsProcessorService.ts index 93ec34162d..fc8856a271 100644 --- a/packages/backend/src/queue/processors/TickChartsProcessorService.ts +++ b/packages/backend/src/queue/processors/TickChartsProcessorService.ts @@ -48,20 +48,19 @@ export class TickChartsProcessorService { public async process(): Promise<void> { this.logger.info('Tick charts...'); - await Promise.all([ - this.federationChart.tick(false), - this.notesChart.tick(false), - this.usersChart.tick(false), - this.activeUsersChart.tick(false), - this.instanceChart.tick(false), - this.perUserNotesChart.tick(false), - this.perUserPvChart.tick(false), - this.driveChart.tick(false), - this.perUserReactionsChart.tick(false), - this.perUserFollowingChart.tick(false), - this.perUserDriveChart.tick(false), - this.apRequestChart.tick(false), - ]); + // DBへの同時接続を避けるためにPromise.allを使わずひとつずつ実行する + await this.federationChart.tick(false); + await this.notesChart.tick(false); + await this.usersChart.tick(false); + await this.activeUsersChart.tick(false); + await this.instanceChart.tick(false); + await this.perUserNotesChart.tick(false); + await this.perUserPvChart.tick(false); + await this.driveChart.tick(false); + await this.perUserReactionsChart.tick(false); + await this.perUserFollowingChart.tick(false); + await this.perUserDriveChart.tick(false); + await this.apRequestChart.tick(false); this.logger.succ('All charts successfully ticked.'); } |