I'm too hesitant to use it in prod because of the pricing risk (it's beta still anyways) so don't ha
I'm too hesitant to use it in prod because of the pricing risk (it's beta still anyways) so don't have any real prod use to compare the price.
Unabled to create new browser:
d85a0daa3e2452f1bcc7ba56d59ceb5e in case anyone is feeling generous with the beta access 

blockConcurrencyWhile the way to go?Unabled to create new browser: {
"message": [
"Browser DO: Could not start browser instance. Error: Error: Unabled to create new browser: code: 429: message: Too Many Requests",
"Error: Unabled to create new browser: code: 429: message: Too Many Requests\n at PuppeteerWorkers.launch (index.js:19201:13)\n at async Browser2.fetch (index.js:43967:24)"
],
"level": "error",
"timestamp": 1702366528655
} async fetch(url: string) {
//if there's a browser session open, re-use it
if (!this.browser || !this.browser.isConnected()) {
console.log(`Browser DO: Starting new instance`);
try {
this.browser = await puppeteer.launch(this.env.CHROMIUM);
} catch (e) {
console.error(
`Browser DO: Could not start browser instance. Error: ${e}`,
e.stack
);
throw e;
}
}
.......
} async alarm() {
this.keptAliveInSeconds += 10;
// Extend browser DO life
if (this.keptAliveInSeconds < KEEP_BROWSER_ALIVE_IN_SECONDS) {
console.log(
`Browser DO: has been kept alive for ${this.keptAliveInSeconds} seconds. Extending lifespan.`
);
await this.storage.setAlarm(Date.now() + 10 * 1000);
await this.browser.version();
} else
console.log(
`Browser DO: exceeded life of ${KEEP_BROWSER_ALIVE_IN_SECONDS}. Browser DO will be shut down in 10 seconds.`
);
}d85a0daa3e2452f1bcc7ba56d59ceb5epage.screenshot({ clip: { x: 0, y: lastScroll || 0, width: data.innerWidth, height: data.innerHeight } })blockConcurrencyWhile