From 70415bdab592e408b9bbaf3e37874f7113d7692d Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Tue, 27 May 2025 12:18:50 +0900 Subject: [PATCH] use main redis for lock --- .../backend/src/core/activitypub/ApInboxService.ts | 10 +++++----- .../src/core/activitypub/models/ApNoteService.ts | 6 +++--- packages/backend/src/core/chart/charts/active-users.ts | 6 +++--- packages/backend/src/core/chart/charts/ap-request.ts | 6 +++--- packages/backend/src/core/chart/charts/drive.ts | 6 +++--- packages/backend/src/core/chart/charts/federation.ts | 6 +++--- packages/backend/src/core/chart/charts/instance.ts | 6 +++--- packages/backend/src/core/chart/charts/notes.ts | 6 +++--- .../backend/src/core/chart/charts/per-user-drive.ts | 6 +++--- .../src/core/chart/charts/per-user-following.ts | 6 +++--- .../backend/src/core/chart/charts/per-user-notes.ts | 6 +++--- packages/backend/src/core/chart/charts/per-user-pv.ts | 6 +++--- .../src/core/chart/charts/per-user-reactions.ts | 6 +++--- packages/backend/src/core/chart/charts/test-grouped.ts | 6 +++--- .../backend/src/core/chart/charts/test-intersection.ts | 6 +++--- packages/backend/src/core/chart/charts/test-unique.ts | 6 +++--- packages/backend/src/core/chart/charts/test.ts | 6 +++--- packages/backend/src/core/chart/charts/users.ts | 6 +++--- packages/backend/test/unit/chart.ts | 10 +++++----- 19 files changed, 61 insertions(+), 61 deletions(-) diff --git a/packages/backend/src/core/activitypub/ApInboxService.ts b/packages/backend/src/core/activitypub/ApInboxService.ts index 4acd64a40c..81637580e3 100644 --- a/packages/backend/src/core/activitypub/ApInboxService.ts +++ b/packages/backend/src/core/activitypub/ApInboxService.ts @@ -49,8 +49,8 @@ export class ApInboxService { @Inject(DI.config) private config: Config, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.usersRepository) private usersRepository: UsersRepository, @@ -311,7 +311,7 @@ export class ApInboxService { // アナウンス先が許可されているかチェック if (!this.utilityService.isFederationAllowedUri(uri)) return; - const unlock = await acquireApObjectLock(this.redisForTimelines, uri); + const unlock = await acquireApObjectLock(this.redisClient, uri); try { // 既に同じURIを持つものが登録されていないかチェック @@ -438,7 +438,7 @@ export class ApInboxService { } } - const unlock = await acquireApObjectLock(this.redisForTimelines, uri); + const unlock = await acquireApObjectLock(this.redisClient, uri); try { const exist = await this.apNoteService.fetchNote(note); @@ -522,7 +522,7 @@ export class ApInboxService { private async deleteNote(actor: MiRemoteUser, uri: string): Promise { this.logger.info(`Deleting the Note: ${uri}`); - const unlock = await acquireApObjectLock(this.redisForTimelines, uri); + const unlock = await acquireApObjectLock(this.redisClient, uri); try { const note = await this.apDbResolverService.getNoteFromApId(uri); diff --git a/packages/backend/src/core/activitypub/models/ApNoteService.ts b/packages/backend/src/core/activitypub/models/ApNoteService.ts index 3283e88623..214d32f67f 100644 --- a/packages/backend/src/core/activitypub/models/ApNoteService.ts +++ b/packages/backend/src/core/activitypub/models/ApNoteService.ts @@ -49,8 +49,8 @@ export class ApNoteService { @Inject(DI.meta) private meta: MiMeta, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.pollsRepository) private pollsRepository: PollsRepository, @@ -357,7 +357,7 @@ export class ApNoteService { throw new StatusError('blocked host', 451); } - const unlock = await acquireApObjectLock(this.redisForTimelines, uri); + const unlock = await acquireApObjectLock(this.redisClient, uri); try { //#region このサーバーに既に登録されていたらそれを返す diff --git a/packages/backend/src/core/chart/charts/active-users.ts b/packages/backend/src/core/chart/charts/active-users.ts index 0f118ef7f7..7b9840af87 100644 --- a/packages/backend/src/core/chart/charts/active-users.ts +++ b/packages/backend/src/core/chart/charts/active-users.ts @@ -29,13 +29,13 @@ export default class ActiveUsersChart extends Chart { // eslint-d @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, private chartLoggerService: ChartLoggerService, private idService: IdService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/ap-request.ts b/packages/backend/src/core/chart/charts/ap-request.ts index 401bcdca64..ed790de7b5 100644 --- a/packages/backend/src/core/chart/charts/ap-request.ts +++ b/packages/backend/src/core/chart/charts/ap-request.ts @@ -23,12 +23,12 @@ export default class ApRequestChart extends Chart { // eslint-dis @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/drive.ts b/packages/backend/src/core/chart/charts/drive.ts index 552afec892..782873809a 100644 --- a/packages/backend/src/core/chart/charts/drive.ts +++ b/packages/backend/src/core/chart/charts/drive.ts @@ -24,12 +24,12 @@ export default class DriveChart extends Chart { // eslint-disable @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/federation.ts b/packages/backend/src/core/chart/charts/federation.ts index b9057b3e07..b7a7f640b8 100644 --- a/packages/backend/src/core/chart/charts/federation.ts +++ b/packages/backend/src/core/chart/charts/federation.ts @@ -27,8 +27,8 @@ export default class FederationChart extends Chart { // eslint-di @Inject(DI.meta) private meta: MiMeta, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.followingsRepository) private followingsRepository: FollowingsRepository, @@ -38,7 +38,7 @@ export default class FederationChart extends Chart { // eslint-di private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/instance.ts b/packages/backend/src/core/chart/charts/instance.ts index b031d9257d..b1657e0a0b 100644 --- a/packages/backend/src/core/chart/charts/instance.ts +++ b/packages/backend/src/core/chart/charts/instance.ts @@ -27,8 +27,8 @@ export default class InstanceChart extends Chart { // eslint-disa @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.usersRepository) private usersRepository: UsersRepository, @@ -45,7 +45,7 @@ export default class InstanceChart extends Chart { // eslint-disa private utilityService: UtilityService, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema, true); } protected async tickMajor(group: string): Promise>> { diff --git a/packages/backend/src/core/chart/charts/notes.ts b/packages/backend/src/core/chart/charts/notes.ts index c6258ccc53..aa64e2329a 100644 --- a/packages/backend/src/core/chart/charts/notes.ts +++ b/packages/backend/src/core/chart/charts/notes.ts @@ -25,15 +25,15 @@ export default class NotesChart extends Chart { // eslint-disable @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.notesRepository) private notesRepository: NotesRepository, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/per-user-drive.ts b/packages/backend/src/core/chart/charts/per-user-drive.ts index 070ae055f3..f7e92aecea 100644 --- a/packages/backend/src/core/chart/charts/per-user-drive.ts +++ b/packages/backend/src/core/chart/charts/per-user-drive.ts @@ -26,8 +26,8 @@ export default class PerUserDriveChart extends Chart { // eslint- @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.driveFilesRepository) private driveFilesRepository: DriveFilesRepository, @@ -35,7 +35,7 @@ export default class PerUserDriveChart extends Chart { // eslint- private driveFileEntityService: DriveFileEntityService, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema, true); } protected async tickMajor(group: string): Promise>> { diff --git a/packages/backend/src/core/chart/charts/per-user-following.ts b/packages/backend/src/core/chart/charts/per-user-following.ts index cbac5cfb1f..ea431a5131 100644 --- a/packages/backend/src/core/chart/charts/per-user-following.ts +++ b/packages/backend/src/core/chart/charts/per-user-following.ts @@ -26,8 +26,8 @@ export default class PerUserFollowingChart extends Chart { // esl @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.followingsRepository) private followingsRepository: FollowingsRepository, @@ -35,7 +35,7 @@ export default class PerUserFollowingChart extends Chart { // esl private userEntityService: UserEntityService, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema, true); } protected async tickMajor(group: string): Promise>> { diff --git a/packages/backend/src/core/chart/charts/per-user-notes.ts b/packages/backend/src/core/chart/charts/per-user-notes.ts index e66dcd9743..824d60042d 100644 --- a/packages/backend/src/core/chart/charts/per-user-notes.ts +++ b/packages/backend/src/core/chart/charts/per-user-notes.ts @@ -26,15 +26,15 @@ export default class PerUserNotesChart extends Chart { // eslint- @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.notesRepository) private notesRepository: NotesRepository, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema, true); } protected async tickMajor(group: string): Promise>> { diff --git a/packages/backend/src/core/chart/charts/per-user-pv.ts b/packages/backend/src/core/chart/charts/per-user-pv.ts index 6b7ace4497..b3e1b2cea1 100644 --- a/packages/backend/src/core/chart/charts/per-user-pv.ts +++ b/packages/backend/src/core/chart/charts/per-user-pv.ts @@ -24,12 +24,12 @@ export default class PerUserPvChart extends Chart { // eslint-dis @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema, true); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/per-user-reactions.ts b/packages/backend/src/core/chart/charts/per-user-reactions.ts index a07945710b..7bc1d9e7fa 100644 --- a/packages/backend/src/core/chart/charts/per-user-reactions.ts +++ b/packages/backend/src/core/chart/charts/per-user-reactions.ts @@ -26,13 +26,13 @@ export default class PerUserReactionsChart extends Chart { // esl @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, private userEntityService: UserEntityService, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema, true); } protected async tickMajor(group: string): Promise>> { diff --git a/packages/backend/src/core/chart/charts/test-grouped.ts b/packages/backend/src/core/chart/charts/test-grouped.ts index 7492e59141..8dd1a5d996 100644 --- a/packages/backend/src/core/chart/charts/test-grouped.ts +++ b/packages/backend/src/core/chart/charts/test-grouped.ts @@ -25,12 +25,12 @@ export default class TestGroupedChart extends Chart { // eslint-d @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, logger: Logger, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), logger, name, schema, true); + super(db, (k) => acquireChartInsertLock(redisClient, k), logger, name, schema, true); } protected async tickMajor(group: string): Promise>> { diff --git a/packages/backend/src/core/chart/charts/test-intersection.ts b/packages/backend/src/core/chart/charts/test-intersection.ts index cf96622d17..23b8649cce 100644 --- a/packages/backend/src/core/chart/charts/test-intersection.ts +++ b/packages/backend/src/core/chart/charts/test-intersection.ts @@ -23,12 +23,12 @@ export default class TestIntersectionChart extends Chart { // esl @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, logger: Logger, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/test-unique.ts b/packages/backend/src/core/chart/charts/test-unique.ts index 7c8b651b39..b84dd419ba 100644 --- a/packages/backend/src/core/chart/charts/test-unique.ts +++ b/packages/backend/src/core/chart/charts/test-unique.ts @@ -23,12 +23,12 @@ export default class TestUniqueChart extends Chart { // eslint-di @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, logger: Logger, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/test.ts b/packages/backend/src/core/chart/charts/test.ts index 4dee2ccefe..0e95ce9239 100644 --- a/packages/backend/src/core/chart/charts/test.ts +++ b/packages/backend/src/core/chart/charts/test.ts @@ -25,12 +25,12 @@ export default class TestChart extends Chart { // eslint-disable- @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, logger: Logger, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/src/core/chart/charts/users.ts b/packages/backend/src/core/chart/charts/users.ts index 0c7c95f429..4471c1df23 100644 --- a/packages/backend/src/core/chart/charts/users.ts +++ b/packages/backend/src/core/chart/charts/users.ts @@ -26,8 +26,8 @@ export default class UsersChart extends Chart { // eslint-disable @Inject(DI.db) private db: DataSource, - @Inject(DI.redisForTimelines) - private redisForTimelines: Redis.Redis, + @Inject(DI.redis) + private redisClient: Redis.Redis, @Inject(DI.usersRepository) private usersRepository: UsersRepository, @@ -35,7 +35,7 @@ export default class UsersChart extends Chart { // eslint-disable private userEntityService: UserEntityService, private chartLoggerService: ChartLoggerService, ) { - super(db, (k) => acquireChartInsertLock(redisForTimelines, k), chartLoggerService.logger, name, schema); + super(db, (k) => acquireChartInsertLock(redisClient, k), chartLoggerService.logger, name, schema); } protected async tickMajor(): Promise>> { diff --git a/packages/backend/test/unit/chart.ts b/packages/backend/test/unit/chart.ts index 1261352d36..4533740f75 100644 --- a/packages/backend/test/unit/chart.ts +++ b/packages/backend/test/unit/chart.ts @@ -25,7 +25,7 @@ describe('Chart', () => { const config = loadConfig(); let db: DataSource | undefined; - let redisForTimelines = { + let redisClient = { set: () => Promise.resolve('OK'), get: () => Promise.resolve(null), } as unknown as jest.Mocked; @@ -65,10 +65,10 @@ describe('Chart', () => { await db.initialize(); const logger = new Logger('chart'); // TODO: モックにする - testChart = new TestChart(db, redisForTimelines, logger); - testGroupedChart = new TestGroupedChart(db, redisForTimelines, logger); - testUniqueChart = new TestUniqueChart(db, redisForTimelines, logger); - testIntersectionChart = new TestIntersectionChart(db, redisForTimelines, logger); + testChart = new TestChart(db, redisClient, logger); + testGroupedChart = new TestGroupedChart(db, redisClient, logger); + testUniqueChart = new TestUniqueChart(db, redisClient, logger); + testIntersectionChart = new TestIntersectionChart(db, redisClient, logger); clock = lolex.install({ now: new Date(Date.UTC(2000, 0, 1, 0, 0, 0)),