From edcaef072751c531dcb3d5fc3129fb7aa42610bf Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Thu, 26 Jun 2025 10:55:30 -0400 Subject: [PATCH] space out system queue tasks to not crush the instance all at once --- packages/backend/src/core/QueueService.ts | 14 +++++++------- .../AggregateRetentionProcessorService.ts | 2 +- .../src/queue/processors/CleanProcessorService.ts | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/backend/src/core/QueueService.ts b/packages/backend/src/core/QueueService.ts index 67d1901408..b7f8fb6567 100644 --- a/packages/backend/src/core/QueueService.ts +++ b/packages/backend/src/core/QueueService.ts @@ -80,7 +80,7 @@ export class QueueService implements OnModuleInit { public async onModuleInit() { await this.systemQueue.upsertJobScheduler( 'tickCharts-scheduler', - { pattern: '55 * * * *' }, + { pattern: '0 * * * *' }, { name: 'tickCharts', opts: { @@ -91,7 +91,7 @@ export class QueueService implements OnModuleInit { await this.systemQueue.upsertJobScheduler( 'resyncCharts-scheduler', - { pattern: '0 0 * * *' }, + { pattern: '10 0 * * *' }, { name: 'resyncCharts', opts: { @@ -102,7 +102,7 @@ export class QueueService implements OnModuleInit { await this.systemQueue.upsertJobScheduler( 'cleanCharts-scheduler', - { pattern: '0 0 * * *' }, + { pattern: '30 0 * * *' }, { name: 'cleanCharts', opts: { @@ -113,7 +113,7 @@ export class QueueService implements OnModuleInit { await this.systemQueue.upsertJobScheduler( 'aggregateRetention-scheduler', - { pattern: '0 0 * * *' }, + { pattern: '0 1 * * *' }, { name: 'aggregateRetention', opts: { @@ -124,7 +124,7 @@ export class QueueService implements OnModuleInit { await this.systemQueue.upsertJobScheduler( 'clean-scheduler', - { pattern: '0 0 * * *' }, + { pattern: '15 1 * * *' }, { name: 'clean', opts: { @@ -146,7 +146,7 @@ export class QueueService implements OnModuleInit { await this.systemQueue.upsertJobScheduler( 'backBufferedReactions-scheduler', - { pattern: '0 0 * * *' }, + { pattern: '30 1 * * *' }, { name: 'backBufferedReactions', opts: { @@ -158,7 +158,7 @@ export class QueueService implements OnModuleInit { await this.systemQueue.upsertJobScheduler( 'checkModeratorsActivity-scheduler', // 毎時30分に起動 - { pattern: '30 * * * *' }, + { pattern: '45 1 * * *' }, { name: 'checkModeratorsActivity', opts: { diff --git a/packages/backend/src/queue/processors/AggregateRetentionProcessorService.ts b/packages/backend/src/queue/processors/AggregateRetentionProcessorService.ts index 6f71b42fa9..7d346a2f5d 100644 --- a/packages/backend/src/queue/processors/AggregateRetentionProcessorService.ts +++ b/packages/backend/src/queue/processors/AggregateRetentionProcessorService.ts @@ -83,7 +83,7 @@ export class AggregateRetentionProcessorService { const data = deepClone(record.data); data[dateKey] = retention; - this.retentionAggregationsRepository.update(record.id, { + await this.retentionAggregationsRepository.update(record.id, { updatedAt: now, data, }); diff --git a/packages/backend/src/queue/processors/CleanProcessorService.ts b/packages/backend/src/queue/processors/CleanProcessorService.ts index 149d72de6a..f678801e08 100644 --- a/packages/backend/src/queue/processors/CleanProcessorService.ts +++ b/packages/backend/src/queue/processors/CleanProcessorService.ts @@ -45,13 +45,13 @@ export class CleanProcessorService { public async process(): Promise { this.logger.info('Cleaning...'); - this.userIpsRepository.delete({ + await this.userIpsRepository.delete({ createdAt: LessThan(new Date(this.timeService.now - (1000 * 60 * 60 * 24 * 90))), }); // 使われてないアンテナを停止 if (this.config.deactivateAntennaThreshold > 0) { - this.antennasRepository.update({ + await this.antennasRepository.update({ lastUsedAt: LessThan(new Date(this.timeService.now - this.config.deactivateAntennaThreshold)), }, { isActive: false, @@ -69,7 +69,7 @@ export class CleanProcessorService { }); } - this.reversiService.cleanOutdatedGames(); + await this.reversiService.cleanOutdatedGames(); this.logger.info('Cleaned.'); }