From 08b50d4c57561b63b146b1f4c8c65dbe288abc10 Mon Sep 17 00:00:00 2001 From: Omar Kassem Date: Sun, 8 Dec 2024 14:26:18 +0200 Subject: [PATCH] FIX(Status(NJS) remove syntax error (#3715) * FIX(Status(NJS) remove syntax error * CHORE(stats): update dummy data * feat(Status): update status in case of cache is invalid or there is an error * feat(Status): return cached data in case of updateStats failed with 304 code * fix: remove 304 as the body is required --- packages/stats/nginx/njs/cache.js | 9 +++++---- packages/stats/nginx/njs/stats.js | 10 ++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/stats/nginx/njs/cache.js b/packages/stats/nginx/njs/cache.js index 67944fafdf..d31be5498f 100644 --- a/packages/stats/nginx/njs/cache.js +++ b/packages/stats/nginx/njs/cache.js @@ -15,10 +15,11 @@ function isLessThan24Hours(timestamp) { } const DUMMY_DATA = { - capacity: "32.74 PB", - nodes: 2569, - countries: 61, - cores: 63968, + capacity: "17.46 PB", + ssd: "6800.54 TB", + nodes: 2081, + countries: 52, + cores: 59828, }; function readCache(path) { try { diff --git a/packages/stats/nginx/njs/stats.js b/packages/stats/nginx/njs/stats.js index e7f8336e65..d369264155 100644 --- a/packages/stats/nginx/njs/stats.js +++ b/packages/stats/nginx/njs/stats.js @@ -13,6 +13,10 @@ let URLS = [ async function getStats(r) { const cachedData = cache.readCache(cache_path); + if (!cachedData.valid || cachedData.error) { + await updateStats(r); + return; + } r.return(200, JSON.stringify(cachedData.summary)); } @@ -24,7 +28,9 @@ async function updateStats(r) { return; } catch (error) { r.error(`Failed to fetch stats: ${error}`); - r.return(500, `Failed to fetch stats: ${error}`); + r.error(`Returning cached data`); + const cachedData = cache.readCache(cache_path); + r.return(200, JSON.stringify(cachedData.summary)); return; } } @@ -131,7 +137,7 @@ function toTeraOrGiga(value) { return gb.toFixed(2) + " PB"; } -export function toTeraOrGigaStats(value) { +function toTeraOrGigaStats(value) { const giga = 1024 ** 3; if (!value) return "0 GB";