Use a pool of browsers to execute render requests
See original GitHub issueCurrently a new chrome instance is launched for every render request, which introduces latency and the possibility of running out of memory if too many requests come in at once.
Originally this requirement was because there wasn’t a way to set the timezone for a particular page in puppeteer, but that is now available: https://github.com/puppeteer/puppeteer/blob/v2.0.0/docs/api.md#pageemulatetimezonetimezoneid
I’d suggest using https://github.com/Vincit/tarn.js to manage the pool of puppeteer browser objects so that we can easily handle multiple requests by running up to pool.max chrome instances and queuing requests until an instance is available.
Issue Analytics
- State:
- Created 4 years ago
- Comments:7 (7 by maintainers)
Top Results From Across the Web
Rendering 2 billion pages with a headless browser for ...
A renderer application requests the client-side rendered version and executes ... a pool of Chromes and connecting them to execute tasks.
Read more >Automate an isolated browser instance with just a few lines of ...
To ensure the security of your Worker, individual remote browsers are run as disposable instances – one instance per request, and never shared....
Read more >Scraping Dynamic Websites Using Web Browsers - ScrapFly
Introduction to using web automation tools such as Puppeteer, Playwright, Selenium and ScrapFly to render dynamic websites for web scraping.
Read more >How web browsers use Processes and Threads
How web browsers use Processes and Threads. A process can be described as an application's executing program. A thread is the one that...
Read more >Will Running JavaScript in the Browser Block Rendering?
Chrome_ChildIOThread: Record the corresponding IO thread task record. such as networking, user input, device-related tasks, etc. Parse HTML: Convert HTML ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Looks like alpine now has 79.0.3945.88-r0 in 3.11 and in edge
Aha, that is a problem then, since the alpine packaged version in edge right now is 78.0.3904.108-r0 https://pkgs.alpinelinux.org/package/edge/community/x86_64/chromium which seems to be the current stable release as that’s the version in the ubuntu etc repos also.