From aef040b41e14d67abcc1bdfb751c20d93a3275de Mon Sep 17 00:00:00 2001 From: Nicolas Date: Fri, 3 Jan 2025 23:07:15 -0300 Subject: [PATCH] Nick: from cache fixes --- apps/api/src/scraper/scrapeURL/engines/cache/index.ts | 3 +++ apps/api/src/scraper/scrapeURL/index.ts | 1 + apps/api/src/scraper/scrapeURL/transformers/cache.ts | 6 ++++++ 3 files changed, 10 insertions(+) diff --git a/apps/api/src/scraper/scrapeURL/engines/cache/index.ts b/apps/api/src/scraper/scrapeURL/engines/cache/index.ts index f48806fd..c0451df4 100644 --- a/apps/api/src/scraper/scrapeURL/engines/cache/index.ts +++ b/apps/api/src/scraper/scrapeURL/engines/cache/index.ts @@ -10,6 +10,9 @@ export async function scrapeCache(meta: Meta): Promise { const entry = await getEntryFromCache(key); if (entry === null) throw new EngineError("Cache missed"); + // Set fromCache flag to indicate this document was retrieved from cache + meta.internalOptions.fromCache = true; + return { url: entry.url, html: entry.html, diff --git a/apps/api/src/scraper/scrapeURL/index.ts b/apps/api/src/scraper/scrapeURL/index.ts index b13f7d9a..7f4a76e4 100644 --- a/apps/api/src/scraper/scrapeURL/index.ts +++ b/apps/api/src/scraper/scrapeURL/index.ts @@ -154,6 +154,7 @@ export type InternalOptions = { useCache?: boolean; disableSmartWaitCache?: boolean; // Passed along to fire-engine isBackgroundIndex?: boolean; + fromCache?: boolean; // Indicates if the document was retrieved from cache }; export type EngineResultsTracker = { diff --git a/apps/api/src/scraper/scrapeURL/transformers/cache.ts b/apps/api/src/scraper/scrapeURL/transformers/cache.ts index 4005059f..f2d7bcf4 100644 --- a/apps/api/src/scraper/scrapeURL/transformers/cache.ts +++ b/apps/api/src/scraper/scrapeURL/transformers/cache.ts @@ -19,6 +19,12 @@ export function saveToCache(meta: Meta, document: Document): Document { ); } + // If the document was retrieved from cache, we don't need to save it + if (meta.internalOptions.fromCache) { + return document; + } + + const key = cacheKey(meta.url, meta.options, meta.internalOptions); if (key !== null) {