diff options
| author | おさむのひと <46447427+samunohito@users.noreply.github.com> | 2025-12-20 19:15:05 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-20 19:15:05 +0900 |
| commit | f739cb6270e430a0693cc84c62c337eb77979c5b (patch) | |
| tree | dd621aec2a2bee564d7d94a8d533cec4b522a203 /packages/backend | |
| parent | Bump version to 2025.12.2-beta.3 (diff) | |
| download | misskey-f739cb6270e430a0693cc84c62c337eb77979c5b.tar.gz misskey-f739cb6270e430a0693cc84c62c337eb77979c5b.tar.bz2 misskey-f739cb6270e430a0693cc84c62c337eb77979c5b.zip | |
fix: admin/queue/deliver-delayedとadmin/queue/inbox-delayedの応答速度を改善 (#17009)
Diffstat (limited to 'packages/backend')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts | 10 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts | 10 |
2 files changed, 6 insertions, 14 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts index f3e440b4cb..86158d7e22 100644 --- a/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts +++ b/packages/backend/src/server/api/endpoints/admin/queue/deliver-delayed.ts @@ -52,18 +52,14 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- super(meta, paramDef, async (ps, me) => { const jobs = await this.deliverQueue.getJobs(['delayed']); - const res = [] as [string, number][]; + const counts = new Map<string, number>(); for (const job of jobs) { const host = new URL(job.data.to).host; - if (res.find(x => x[0] === host)) { - res.find(x => x[0] === host)![1]++; - } else { - res.push([host, 1]); - } + counts.set(host, (counts.get(host) ?? 0) + 1); } - res.sort((a, b) => b[1] - a[1]); + const res = [...counts.entries()].sort((a, b) => b[1] - a[1]); return res; }); diff --git a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts index e7589cba81..ad6a823b8f 100644 --- a/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts +++ b/packages/backend/src/server/api/endpoints/admin/queue/inbox-delayed.ts @@ -52,18 +52,14 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- super(meta, paramDef, async (ps, me) => { const jobs = await this.inboxQueue.getJobs(['delayed']); - const res = [] as [string, number][]; + const counts = new Map<string, number>(); for (const job of jobs) { const host = new URL(job.data.signature.keyId).host; - if (res.find(x => x[0] === host)) { - res.find(x => x[0] === host)![1]++; - } else { - res.push([host, 1]); - } + counts.set(host, (counts.get(host) ?? 0) + 1); } - res.sort((a, b) => b[1] - a[1]); + const res = [...counts.entries()].sort((a, b) => b[1] - a[1]); return res; }); |