From 3a4039e2e1920d7aebd90792f47a84c5b748f2af Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Mon, 9 Oct 2023 15:34:03 +0900
Subject: [PATCH] refactor

---
 packages/backend/src/core/FeaturedService.ts | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/packages/backend/src/core/FeaturedService.ts b/packages/backend/src/core/FeaturedService.ts
index 9330d1a840..cccbbd95cb 100644
--- a/packages/backend/src/core/FeaturedService.ts
+++ b/packages/backend/src/core/FeaturedService.ts
@@ -47,12 +47,12 @@ export class FeaturedService {
 		const currentWindow = this.getCurrentWindow(windowRange);
 		const previousWindow = currentWindow - 1;
 
-		const [currentRankingResult, previousRankingResult] = await Promise.all([
-			this.redisClient.zrange(
-				`${name}:${currentWindow}`, 0, threshold, 'REV', 'WITHSCORES'),
-			this.redisClient.zrange(
-				`${name}:${previousWindow}`, 0, threshold, 'REV', 'WITHSCORES'),
-		]);
+		const redisPipeline = this.redisClient.pipeline();
+		redisPipeline.zrange(
+			`${name}:${currentWindow}`, 0, threshold, 'REV', 'WITHSCORES');
+		redisPipeline.zrange(
+			`${name}:${previousWindow}`, 0, threshold, 'REV', 'WITHSCORES');
+		const [currentRankingResult, previousRankingResult] = await redisPipeline.exec().then(result => result ? result.map(r => r[1] as string[]) : [[], []]);
 
 		const ranking = new Map<string, number>();
 		for (let i = 0; i < currentRankingResult.length; i += 2) {