It turns out, the thing I had to do than is give my puppeteer-cluster more time to work before exit.
import { Cluster } from 'puppeteer-cluster'
import puppeteer from 'puppeteer-extra'
import StealthPlugin from 'puppeteer-extra-plugin-stealth'
export const cluster = await Cluster.launch({
concurrency: Cluster.CONCURRENCY_CONTEXT,
maxConcurrency: 30,
monitor: true,
puppeteerOptions: {
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--start-fullscreen',
],
headless: true,
timeout: 100_000_000,
},
puppeteer: puppeteer.use(StealthPlugin()),
timeout: 10_000_000,
})