fetchInstanceMetadataの処理中にサーバーが強制終了された場合Lockが永遠に解除されない問題を修正 (MisskeyIO#191)
This commit is contained in:
		| @@ -52,13 +52,13 @@ export class FetchInstanceMetadataService { | ||||
|  | ||||
| 	@bindThis | ||||
| 	public async tryLock(host: string): Promise<boolean> { | ||||
| 		const mutex = await this.redisClient.set(`fetchInstanceMetadata:mutex:${host}`, '1', 'GET'); | ||||
| 		const mutex = await this.redisClient.set(`fetchInstanceMetadata:mutex:${host}`, '1', 'EX', 60 * 5, 'NX', 'GET'); | ||||
| 		return mutex !== '1'; | ||||
| 	} | ||||
|  | ||||
| 	@bindThis | ||||
| 	public unlock(host: string): Promise<'OK'> { | ||||
| 		return this.redisClient.set(`fetchInstanceMetadata:mutex:${host}`, '0'); | ||||
| 	public unlock(host: string): Promise<number> { | ||||
| 		return this.redisClient.del(`fetchInstanceMetadata:mutex:${host}`); | ||||
| 	} | ||||
|  | ||||
| 	@bindThis | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 まっちゃとーにゅ
					まっちゃとーにゅ