← Browser Run / browser-run
Limity
Limity Browser Run vycházejí z vašeho Plán Cloudflare Workers.
Informace o cenách najdete v Ceny Browser Run.
Workers Free
| Funkce | Limit |
|---|---|
| Hodiny prohlížeče | 10 minut denně |
| Souběžné prohlížeče na účet (pouze Browser Sessions) 1 | 3 na účet |
| Nové instance prohlížeče (pouze Browser Sessions) | 1 za 20 sekund |
| Časový limit prohlížeče | 60 sekund 2 |
| Celkový počet požadavků (pouze Quick Actions) 3 | 1 za 10 sekund |
/crawl endpoint omezuje
/crawl koncový bod má další omezení pro uživatele plánu Workers Free:
| Funkce | Limit |
|---|---|
| Úlohy procházení za den | 5 za den |
| Maximální počet stránek na jedno procházení | 100 stránek |
Workers Paid
| Funkce | Limit |
|---|---|
| Hodiny prohlížeče | Bez limitu (Zobrazit ceník) |
| Souběžné prohlížeče na účet (pouze Browser Sessions) 1 | 200 na účet (Zobrazit ceník) |
| Nové instance prohlížeče za sekundu (pouze Browser Sessions) | 3 za sekundu |
| Časový limit prohlížeče | 60 sekund 2 |
| Celkový počet požadavků za sekundu (pouze Quick Actions) 3 | 30 za sekundu |
Časté dotazy
Jak mohu řídit souběžnost a izolaci relací v Browser Run?
Pokud narážíte na limity souběžnosti limity, nebo chcete optimalizovat souběžné používání prohlížeče, zde je několik tipů:
- Optimalizace pomocí karet nebo sdílených prohlížečů: Místo spouštění nového prohlížeče pro každou úlohu zvažte otevření více karet nebo spuštění více akcí v rámci stejné instance prohlížeče.
- Opakovaně používejte relace: Nastavení můžete optimalizovat a zkrátit dobu spuštění opakovaným využitím relací místo spouštění nového prohlížeče pokaždé. Pokud vám záleží na zachování izolace testů (například u testů závislých na čistém prostředí), doporučujeme použít kontexty prohlížeče v režimu inkognito ↗, které izolují soubory cookie a mezipaměť od ostatních relací.
Pokud stále narážíte na limity souběžnosti, můžete požádejte o vyšší limit ↗.
Mohu prodloužit časový limit prohlížeče?
Ve výchozím nastavení instance prohlížeče vyprší po 60 sekundách nečinnosti. Pokud chcete prohlížeč udržet otevřený déle, můžete použít keep_alive možnost, která umožňuje prodloužit časový limit až na 10 minut.
Existuje maximální délka trvání relace?
Pokud relace prohlížeče zůstává aktivní, nemá pevně danou maximální dobu trvání. Browser Run ji standardně uzavře po jedné minutě neaktivity, aby se předešlo neúmyslnému použití. Můžete prodloužit tento časový limit nečinnosti až na 10 minut.
Pokud potřebujete, aby relace zůstaly déle otevřené, udržujte je aktivní tím, že alespoň jednou za nakonfigurované okno neaktivity odešlete příkaz (například každých 10 minut). Relace se rovněž uzavřou, když Browser Run vydá novou verzi.
Po upgradu z plánu Workers Free stále narážím na limit 10 minut denně. Co mám dělat?
Pokud jste nedávno upgradovali na plán Workers Paid ale přesto narazíte na denní limit 10 minut, znovu nasaďte svého Workera, aby se vaše využití správně přiřadilo k novému plánu.
Proč je moje využití prohlížeče vyšší, než se očekávalo?
Pokud narážíte na denní limit nebo vidíte vyšší využití, než jste očekávali, nejčastější příčinou jsou relace prohlížeče, které nejsou správně uzavírány. Pokud relace prohlížeče není výslovně uzavřena pomocí browser.close(), zůstává otevřená a dále spotřebovává čas prohlížeče, dokud nevyprší časový limit (ve výchozím nastavení 60 sekund, nebo až 10 minut, pokud použijete keep_alive možnost).
Chcete-li minimalizovat využití:
- Vždy zavolejte
browser.close()jakmile relaci prohlížeče dokončíte. - Zabalte kód prohlížeče do
try/finallyblok, aby bylo zajištěnobrowser.close()se volá i v případě, že dojde k chybě. - Použijte
puppeteer.history()neboplaywright.history()ke kontrole nedávných relací a zjištění těch, které se uzavřely kvůliBrowserIdlemístoNormalClosure. Relace uzavřené kvůli vypršení časového limitu nečinnosti znamenají, že prohlížeč nebyl uzavřen explicitně.
Využití a důvody ukončení relací můžete sledovat v Cloudflare dashboardu na Browser Run stránka:
Přejděte na Browser Run ↗Viz Důvody uzavření prohlížeče s dalšími informacemi.
Řešení potíží
Chyba: 429 Too many requests
Když v krátkém časovém úseku odešlete příliš mnoho požadavků, Browser Run odpoví stavovým kódem HTTP 429 Too many requests. Limity četnosti požadavků svého účtu si můžete zobrazit v Workers Free a Workers Paid sekcích výše.
Následující příklad ukazuje, jak elegantně ošetřit omezení počtu požadavků čtením Retry-After a po uplynutí této prodlevy požadavek zopakujte.
const response = await fetch('https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/content', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your-token>',
},
body: JSON.stringify({ url: 'https://example.com' })
});
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After');
console.log(`Rate limited. Waiting ${retryAfter} seconds...`);
await new Promise(resolve => setTimeout(resolve, retryAfter \* 1000));
// Retry the request
const retryResponse = await fetch(/* same request as above */);
}import puppeteer from "@cloudflare/puppeteer";
try {
const browser = await puppeteer.launch(env.MYBROWSER);
const page = await browser.newPage();
await page.goto("https://example.com");
const content = await page.content();
await browser.close();
} catch (error) {
if (error.status === 429) {
const retryAfter = error.headers.get("Retry-After");
console.log(
`Browser instance limit reached. Waiting ${retryAfter} seconds...`,
);
await new Promise((resolve) => setTimeout(resolve, retryAfter * 1000));
// Retry launching browser
const browser = await puppeteer.launch(env.MYBROWSER);
}
}Chyba: 429 Browser time limit exceeded for today
Tento Error processing the request: Unable to create new browser: code: 429: message: Browser time limit exceeded for today chyba znamená, že jste dosáhli denního limitu prohlížečů v plánu Workers Free. Účty s plánem Workers Free mají omezení na 10 minut používání Browser Run denně. Pokud tento limit překročíte, obdržíte 429 chybu až do dalšího dne podle UTC.
Můžete navýšit své limity přechodem na plán Workers Paid na Plány Workers stránky Cloudflare dashboardu:
Přejděte na Plány Workers ↗Pokud jste nedávno upgradovali, ale stále narážíte na limit 10 minut denně, znovu nasaďte svůj Worker, aby bylo vaše využití správně přiřazeno k novému plánu.
Poznámky pod čarou
-
Prohlížeče se zavřou po dokončení úlohy nebo po šedesáti sekundách nečinnosti (pokud nepoužijete prodloužit časový limit prohlížeče). Proto v praxi mnoho pracovních postupů nevyžaduje vysoký počet souběžných prohlížečů. ↩ ↩2
-
Ve výchozím nastavení prohlížeč vyprší po 60 sekundách nečinnosti. Tento limit můžete prodloužit až na 10 minut pomocí
keep_alivemožnost. Zavolejtebrowser.close()k okamžitému uvolnění instance prohlížeče. ↩ ↩2 -
Pokud překročíte limit počtu požadavků za sekundu, obdržíte
429odpověď. Další informace najdete v řešení problémů s429 Too many requestschyba. ↩ ↩2