From e5685b902576c50549a9eb32d24d0d82bf0f6948 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Mon, 13 Feb 2023 19:23:14 +0000 Subject: [PATCH] ref: make fresh/stale/expires cache access more readable --- _webi/transform-releases.js | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/_webi/transform-releases.js b/_webi/transform-releases.js index 0235660..35a5bce 100644 --- a/_webi/transform-releases.js +++ b/_webi/transform-releases.js @@ -139,26 +139,24 @@ async function getCachedReleases(pkg) { }; } + var bgRenewal; var age = Date.now() - cache[pkg].updatedAt; - if (age >= expiredAge) { - //console.debug("EXPIRED - waiting"); - return await Promise.race([ - chainCachePromise(putCache), - new Promise(function (resolve) { - setTimeout(function () { - resolve(cache[pkg].all); - }, 5000); - }), - ]); + var fresh = age < staleAge; + if (!fresh) { + bgRenewal = chainCachePromise(putCache); } - if (age >= staleAge) { - //console.debug("STALE - background update"); - chainCachePromise(putCache); + var tooStale = age > expiredAge; + if (!tooStale) { + return await cache[pkg].all; } - //console.debug("FRESH"); - return await cache[pkg].all; + return await Promise.race([ + bgRenewal, + sleep(5000).then(function () { + return cache[pkg].all; + }), + ]); } async function filterReleases(