Javascript Node.js:使用通用池时资源未获得释放

Javascript Node.js:使用通用池时资源未获得释放,javascript,node.js,Javascript,Node.js,我正在使用通用池npm模块,并试图创建一个pupeter池,但没有调用工厂中的destroy方法 我能获得资源,但不能释放,也不能摧毁 下面是代码的相关部分 浏览器池.js const genericPool = require('generic-pool'); const puppeteer = require('puppeteer'); module.exports = function() { const browserParams = process.env.NODE_ENV

我正在使用通用池npm模块,并试图创建一个pupeter池,但没有调用工厂中的destroy方法

我能获得资源,但不能释放,也不能摧毁

下面是代码的相关部分

浏览器池.js


const genericPool = require('generic-pool');
const puppeteer = require('puppeteer');

module.exports = function() {

  const browserParams = process.env.NODE_ENV == 'development' ? {
    headless: false,
    devtools: false,
    executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
  }
  :
  {
    headless: true,
    devtools: false,
    executablePath: 'google-chrome-unstable',
    args: ['--no-sandbox', '--disable-dev-shm-usage']
  };

  const factory = {
    create: function() {
      return puppeteer.launch(browserParams);
    },
    destroy: function(instance) {
      console.log('closing browser');
      instance.close();
    },
  }

  const opts = {
    max: 2
  };

  return genericPool.createPool(factory, opts);
};

const pool = require('./browser-pool');


async function performExport(params){
  const poolInstance = pool();
  const resp = poolInstance.acquire().then(async function(c){
// do processing
   poolInstance.release(c); //***Does not call destroy**
  });
}
processor.js


const genericPool = require('generic-pool');
const puppeteer = require('puppeteer');

module.exports = function() {

  const browserParams = process.env.NODE_ENV == 'development' ? {
    headless: false,
    devtools: false,
    executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
  }
  :
  {
    headless: true,
    devtools: false,
    executablePath: 'google-chrome-unstable',
    args: ['--no-sandbox', '--disable-dev-shm-usage']
  };

  const factory = {
    create: function() {
      return puppeteer.launch(browserParams);
    },
    destroy: function(instance) {
      console.log('closing browser');
      instance.close();
    },
  }

  const opts = {
    max: 2
  };

  return genericPool.createPool(factory, opts);
};

const pool = require('./browser-pool');


async function performExport(params){
  const poolInstance = pool();
  const resp = poolInstance.acquire().then(async function(c){
// do processing
   poolInstance.release(c); //***Does not call destroy**
  });
}
我错过了一些东西,但不确定是什么。任何帮助都会非常好。谢谢