From fc8f6e306605fb313100b259148431ee7fca8ca3 Mon Sep 17 00:00:00 2001 From: tmont Date: Mon, 20 Jul 2020 22:44:24 -0700 Subject: [PATCH] attempt at making generation faster on weak remote machine --- generate.js | 52 +++++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/generate.js b/generate.js index 03c0954..11ded0f 100755 --- a/generate.js +++ b/generate.js @@ -723,32 +723,38 @@ const processRecords = async () => { await promiseMe(callback => fs.writeFile(targetFile, stateHtml, callback)); console.log(`wrote to ${targetFile} in ${Date.now() - start}ms`); })); - - for (const stateData of countryData.states) { - if (!stateData.name || !stateData.counties || !stateData.counties.length) { - continue; - } - await Promise.all(stateData.counties.map(async (countyData) => { - countyData.population = countyData.population || 0; - - const start = Date.now(); - const targetFile = path.join( - publicDir, - 'countries', - `${countryData.safeName}-${stateData.safeName}-${countyData.safeName}.html`, - ); - const countyHtml = countyFn({ - data: countyData, - $title: `${countyData.name}, ${countyData.state}, ${countyData.country}`, - lastUpdate, - }); - await promiseMe(callback => fs.writeFile(targetFile, countyHtml, callback)); - console.log(`wrote to ${targetFile} in ${Date.now() - start}ms`); - })); - } } })); + for (const countryData of countryArr) { + if (!countryData.states) { + continue; + } + + for (const stateData of countryData.states) { + if (!stateData.name || !stateData.counties || !stateData.counties.length) { + continue; + } + for (const countyData of stateData.counties) { + countyData.population = countyData.population || 0; + + const start = Date.now(); + const targetFile = path.join( + publicDir, + 'countries', + `${countryData.safeName}-${stateData.safeName}-${countyData.safeName}.html`, + ); + const countyHtml = countyFn({ + data: countyData, + $title: `${countyData.name}, ${countyData.state}, ${countyData.country}`, + lastUpdate, + }); + await promiseMe(callback => fs.writeFile(targetFile, countyHtml, callback)); + console.log(`wrote to ${targetFile} in ${Date.now() - start}ms`); + } + } + } + console.log(`finished in ${((Date.now() - globalStart) / 1000).toFixed(2)}s`); };