diff options
| author | misskey-release-bot[bot] <157398866+misskey-release-bot[bot]@users.noreply.github.com> | 2025-12-06 12:22:58 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-06 12:22:58 +0000 |
| commit | e40c84f31df0202351c5585d3edbca000846b73b (patch) | |
| tree | 548eafb27b758c55de2e750a0ef9efbe3f056357 /packages/backend/src/core/AppLockService.ts | |
| parent | Merge pull request #16840 from misskey-dev/develop (diff) | |
| parent | Release: 2025.12.0 (diff) | |
| download | misskey-e40c84f31df0202351c5585d3edbca000846b73b.tar.gz misskey-e40c84f31df0202351c5585d3edbca000846b73b.tar.bz2 misskey-e40c84f31df0202351c5585d3edbca000846b73b.zip | |
Merge pull request #16916 from misskey-dev/develop
Release: 2025.12.0
Diffstat (limited to 'packages/backend/src/core/AppLockService.ts')
| -rw-r--r-- | packages/backend/src/core/AppLockService.ts | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/packages/backend/src/core/AppLockService.ts b/packages/backend/src/core/AppLockService.ts deleted file mode 100644 index bd2749cb87..0000000000 --- a/packages/backend/src/core/AppLockService.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import { promisify } from 'node:util'; -import { Inject, Injectable } from '@nestjs/common'; -import redisLock from 'redis-lock'; -import * as Redis from 'ioredis'; -import { DI } from '@/di-symbols.js'; -import { bindThis } from '@/decorators.js'; - -/** - * Retry delay (ms) for lock acquisition - */ -const retryDelay = 100; - -@Injectable() -export class AppLockService { - private lock: (key: string, timeout?: number, _?: (() => Promise<void>) | undefined) => Promise<() => void>; - - constructor( - @Inject(DI.redis) - private redisClient: Redis.Redis, - ) { - this.lock = promisify(redisLock(this.redisClient, retryDelay)); - } - - /** - * Get AP Object lock - * @param uri AP object ID - * @param timeout Lock timeout (ms), The timeout releases previous lock. - * @returns Unlock function - */ - @bindThis - public getApLock(uri: string, timeout = 30 * 1000): Promise<() => void> { - return this.lock(`ap-object:${uri}`, timeout); - } - - @bindThis - public getChartInsertLock(lockKey: string, timeout = 30 * 1000): Promise<() => void> { - return this.lock(`chart-insert:${lockKey}`, timeout); - } -} |