From 07d8dd9130fa285d136d18c609f3812077b5f69f Mon Sep 17 00:00:00 2001 From: tdurieux Date: Mon, 1 Apr 2024 09:19:49 +0100 Subject: [PATCH] feat: cache server stat --- src/server.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/server.ts b/src/server.ts index cde01ee..2402a39 100644 --- a/src/server.ts +++ b/src/server.ts @@ -143,7 +143,17 @@ export default async function start() { res.sendStatus(404); }); + let stat: any = {}; + + setInterval(() => { + stat = {}; + }, 1000 * 60 * 60); + apiRouter.get("/stat", async (_, res) => { + if (stat.nbRepositories) { + res.json(stat); + return; + } const [nbRepositories, users, nbPageViews, nbPullRequests] = await Promise.all([ AnonymizedRepositoryModel.estimatedDocumentCount(), @@ -158,12 +168,14 @@ export default async function start() { AnonymizedPullRequestModel.estimatedDocumentCount(), ]); - res.json({ + stat = { nbRepositories, nbUsers: users.length, nbPageViews: nbPageViews[0]?.total || 0, nbPullRequests, - }); + }; + + res.json(stat); }); // web view