Make client cacher suck less?
This commit is contained in:
parent
c461a94da0
commit
cf5637db1b
@ -68,6 +68,7 @@ const doPatch = (content) => {
|
|||||||
|
|
||||||
const processFile = async (name) => {
|
const processFile = async (name) => {
|
||||||
const res = await fetch(`${BASE_URL}/assets/${name}.js`);
|
const res = await fetch(`${BASE_URL}/assets/${name}.js`);
|
||||||
|
if (res.status !== 200) return [];
|
||||||
let text = await res.text();
|
let text = await res.text();
|
||||||
|
|
||||||
text = doPatch(text);
|
text = doPatch(text);
|
||||||
@ -105,6 +106,8 @@ const processFile = async (name) => {
|
|||||||
let lastFinished = Date.now();
|
let lastFinished = Date.now();
|
||||||
let previousFinish = Date.now();
|
let previousFinish = Date.now();
|
||||||
|
|
||||||
|
let promises = [];
|
||||||
|
|
||||||
for (var i = 0; i < assets.length; i++) {
|
for (var i = 0; i < assets.length; i++) {
|
||||||
const asset = assets[i];
|
const asset = assets[i];
|
||||||
|
|
||||||
@ -122,19 +125,24 @@ const processFile = async (name) => {
|
|||||||
process.stdout.cursorTo(0);
|
process.stdout.cursorTo(0);
|
||||||
process.stdout.write(
|
process.stdout.write(
|
||||||
`Caching asset ${asset}. ` +
|
`Caching asset ${asset}. ` +
|
||||||
`${i}/${assets.length - 1} = ${Math.floor(
|
`${i}/${assets.length - 1} = ${Math.floor(
|
||||||
(i / (assets.length - 1)) * 100,
|
(i / (assets.length - 1)) * 100,
|
||||||
)}% ` +
|
)}% ` +
|
||||||
`Finish at: ${new Date(
|
`Finish at: ${new Date(
|
||||||
Date.now() + finishTime,
|
Date.now() + finishTime,
|
||||||
).toLocaleTimeString()}`,
|
).toLocaleTimeString()}`,
|
||||||
);
|
);
|
||||||
|
|
||||||
await processFile(asset);
|
promises.push(processFile(asset));
|
||||||
|
|
||||||
lastFinished = Date.now();
|
if (promises.length > 100) {
|
||||||
rates.push(lastFinished - previousFinish);
|
const values = await Promise.all(promises);
|
||||||
previousFinish = lastFinished;
|
assets.push(...values.flat());
|
||||||
|
promises = [];
|
||||||
|
lastFinished = Date.now();
|
||||||
|
rates.push(lastFinished - previousFinish);
|
||||||
|
previousFinish = lastFinished;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`\nDone`);
|
console.log(`\nDone`);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user