perf(assist): кэш индекса (TTL 10 мин) + предрасчёт списков + дедлайн 40с + логирование этапов

This commit is contained in:
Repinoid
2026-10-07 17:20:24 +03:00
parent 9728fe4cf8
commit 99e034dfeb
2 changed files with 53 additions and 5 deletions
+9 -3
View File
@@ -145,13 +145,19 @@ function loadIndex(rawJson) {
index = { docs: Array.isArray(index) ? index : [] };
}
const docs = Array.isArray(index.docs) ? index.docs : [];
// Предрасчёт: списки ресурсов считаются ОДИН раз при загрузке индекса,
// а не на каждый запрос (экономия CPU на regex по всем докам).
const resourceTypes = extractResourceTypes({ docs });
const pages = resourcePages({ docs });
return {
docs: Array.isArray(index.docs) ? index.docs : [],
docs,
listResourceTypes() {
return extractResourceTypes({ docs: this.docs });
return resourceTypes;
},
resourcePages() {
return resourcePages({ docs: this.docs });
return pages;
},
};
}