From 507b96014c8cce1ebf4f836f084e6ce3af67acfb Mon Sep 17 00:00:00 2001 From: WebStreamr <210764791+webstreamr@users.noreply.github.com> Date: Fri, 16 Jan 2026 13:21:38 +0000 Subject: [PATCH] chore(extractor): simplify cache expiration handling --- src/extractor/ExtractorRegistry.ts | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/extractor/ExtractorRegistry.ts b/src/extractor/ExtractorRegistry.ts index 4785a33..63d5d8e 100644 --- a/src/extractor/ExtractorRegistry.ts +++ b/src/extractor/ExtractorRegistry.ts @@ -57,13 +57,11 @@ export class ExtractorRegistry { const storedDataRaw = await this.urlResultCache.getRaw(cacheKey); const expires = storedDataRaw?.expires; if (storedDataRaw && expires) { - // Ignore the cache randomly after at least 2/3 of the TTL passed to start refreshing results slowly - const refreshTimestamp = this.randomInteger(expires - extractor.ttl * (2 / 3), expires); - const now = Date.now(); + const ttl = expires - Date.now(); /* istanbul ignore if */ - if (refreshTimestamp > now) { - return (storedDataRaw.value as UrlResult[]).map(urlResult => ({ ...urlResult, ttl: expires - now, url: new URL(urlResult.url) })); + if (ttl > 0) { + return (storedDataRaw.value as UrlResult[]).map(urlResult => ({ ...urlResult, ttl, url: new URL(urlResult.url) })); } } @@ -111,8 +109,4 @@ export class ExtractorRegistry { return urlResults; }; - - private randomInteger(min: number, max: number) { - return Math.floor(Math.random() * (max - min + 1)) + min; - } }