INTEGRITY Dokumentace

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ů:

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í:

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

  1. 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

  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_alive možnost. Zavolejte browser.close() k okamžitému uvolnění instance prohlížeče. ↩ ↩2

  3. Pokud překročíte limit počtu požadavků za sekundu, obdržíte 429 odpověď. Další informace najdete v řešení problémů s 429 Too many requests chyba. ↩ ↩2