如果你想在 Heroku 上限制 Puppeteer 仅运行三次,可以使用以下步骤:

  1. 创建一个 Procfile 文件:在你的项目根目录下创建一个名为 Procfile 的文件,并添加以下内容:
web: npm run start -- --max-old-space-size=4096

这将告诉 Heroku 使用 npm 命令运行 start 脚本,并传递 --max-old-space-size=4096 参数给 Puppeteer。

  1. 创建一个 start.js 文件:在你的项目根目录下创建一个名为 start.js 的文件,并添加以下代码:
const puppeteer = require('puppeteer');

async function runPuppeteer() {
  try {
    const browser = await puppeteer.launch({
      args: ['--no-sandbox', '--disable-setuid-sandbox'],
      headless: false,
    });

    const page = await browser.newPage();

    // 在这里添加你要在页面上执行的操作

    await browser.close();
  } catch (err) {
    console.error('Error:', err);
  }
}

runPuppeteer();

在这个文件中,我们使用 Puppeteer 启动一个浏览器,并在页面上执行一些操作。然后,我们关闭浏览器。

  1. 安装依赖:使用 npm install 命令安装项目所需的依赖。
  2. 部署到 Heroku:将你的项目部署到 Heroku。在 Heroku 上,你可以设置环境变量来传递 --max-old-space-size=4096 参数给 Puppeteer。
  3. 运行应用程序:在 Heroku 上,你可以使用 git push heroku main 命令将代码部署到 Heroku,并使用 heroku open 命令打开应用程序的 URL。

现在,你的 Puppeteer 应用程序将在 Heroku 上运行三次,然后停止。你可以根据需要调整 --max-old-space-size=4096 参数来控制 Puppeteer 使用的内存量。