Closing JSDOM window after deep scrapes in an attempt to save memory.

This commit is contained in:
DebaucheryLibrarian 2021-12-18 23:22:35 +01:00
parent de7a8c756a
commit 8e4be06675
1 changed files with 3 additions and 4 deletions

View File

@ -10,7 +10,7 @@ const tunnel = require('tunnel');
const Bottleneck = require('bottleneck');
const { JSDOM, toughCookie } = require('jsdom');
// const windows = require('./http-windows');
const windows = require('./http-windows');
const logger = require('../logger')(__filename);
const virtualConsole = require('./virtual-console')(__filename);
@ -119,11 +119,10 @@ async function finalizeResult(res, options) {
const window = options?.parse ? new JSDOM(html, { virtualConsole, ...options.extract }).window : null;
const pathname = new URL(res.request.url).pathname.replace(/\//g, '_');
/* unable to clear from update scrapes, nor any way to distinguish deep scrapes
if (window) {
// allow window.close to be called after scraping is done, only for deep scrapes where the URL is known outside the scraper
if (window && /fetchScene|fetchMovie/.test(new Error().stack)) {
windows.set(pathname, window);
}
*/
if (argv.saveHtml) {
await fs.writeFile(`./html/${pathname}.html`, html);