perf(assist): кэш индекса (TTL 10 мин) + предрасчёт списков + дедлайн 40с + логирование этапов
This commit is contained in:
@@ -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;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user