From f2b1c1ffa6acd8e46abee7503470646e093468d1 Mon Sep 17 00:00:00 2001 From: David Silva Date: Mon, 4 Dec 2023 18:05:58 -0300 Subject: [PATCH] refactor: rendering pages as batch --- src/node/build/build.ts | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/src/node/build/build.ts b/src/node/build/build.ts index b5c50978..e853414f 100644 --- a/src/node/build/build.ts +++ b/src/node/build/build.ts @@ -106,24 +106,30 @@ export async function build( } } - await Promise.all( - ['404.md', ...siteConfig.pages] - .map((page) => siteConfig.rewrites.map[page] || page) - .map((page) => - renderPage( - render, - siteConfig, - page, - clientResult, - appChunk, - cssChunk, - assets, - pageToHashMap, - metadataScript, - additionalHeadTags + const pages = ['404.md', ...siteConfig.pages] + const batchSize = 100 + + for (let i = 0; i < pages.length; i += batchSize) { + const batch = pages.slice(i, i + batchSize) + await Promise.all( + batch + .map((page) => siteConfig.rewrites.map[page] || page) + .map((page) => + renderPage( + render, + siteConfig, + page, + clientResult, + appChunk, + cssChunk, + assets, + pageToHashMap, + metadataScript, + additionalHeadTags + ) ) - ) - ) + ) + } }) // emit page hash map for the case where a user session is open