INTEGRITY Документация

Лимиты

Ограничения Browser Run зависят от вашего Тарифный план Cloudflare Workers.

Сведения о тарификации см. в Тарифы Browser Run.

Workers Free

Возможность Лимит
Часы браузера 10 минут в день
Параллельные браузеры на аккаунт (только для Browser Sessions) 1 3 на аккаунт
Новые экземпляры браузера (только для Browser Sessions) 1 раз в 20 секунд
Тайм-аут браузера 60 секунд 2
Всего запросов (только Quick Actions) 3 1 раз в 10 секунд

/crawl эндпоинт ограничивает

/crawl конечная точка действуют дополнительные ограничения для пользователей плана Workers Free:

Возможность Лимит
Задания сканирования в день 5 в день
Максимум страниц за одно сканирование 100 страниц

Workers Paid

Возможность Лимит
Часы браузера Без ограничений (Смотреть цены)
Параллельные браузеры на аккаунт (только для Browser Sessions) 1 200 на аккаунт (Смотреть цены)
Новые экземпляры браузера в секунду (только для Browser Sessions) 3 в секунду
Тайм-аут браузера 60 секунд 2
Запросов в секунду (только Quick Actions) 3 30 в секунду

Часто задаваемые вопросы

Как управлять параллелизмом и изоляцией сессий в Browser Run?

Если вы столкнулись с ограничением параллелизма ограничения, или хотите оптимизировать параллельное использование браузера, вот несколько советов:

Если вы всё ещё сталкиваетесь с ограничением параллелизма, вы можете запросите более высокий лимит ↗.

Можно ли увеличить тайм-аут браузера?

По умолчанию экземпляр браузера завершает работу по тайм-ауту через 60 секунд бездействия. Если вы хотите держать браузер открытым дольше, вы можете использовать keep_alive параметр, который позволяет увеличить тайм-аут до 10 минут.

Существует ли максимальная продолжительность сеанса?

Фиксированного максимального времени жизни сеанса браузера не существует, пока сеанс остаётся активным. По умолчанию Browser Run закрывает сеансы после одной минуты бездействия, чтобы предотвратить непреднамеренное использование. Вы можете увеличьте этот тайм-аут бездействия до 10 минут.

Если сессии должны оставаться открытыми дольше, поддерживайте их активность, отправляя команду хотя бы раз в течение настроенного окна бездействия (например, каждые 10 минут). Сессии также закрываются при выпуске нового релиза Browser Run.

Я перешёл с плана Workers Free, но всё ещё упираюсь в лимит 10 минут в день. Что делать?

Если вы недавно перешли на план Workers Paid но всё равно сталкиваетесь с ограничением в 10 минут в день, повторно разверните Worker, чтобы использование корректно учитывалось в рамках нового тарифного плана.

Почему расход браузерных ресурсов оказался выше ожидаемого?

Если вы упираетесь в дневной лимит или расход выше ожидаемого, чаще всего причина в том, что сессии браузера закрываются некорректно. Когда сессия браузера не закрывается явно с помощью browser.close(), она остаётся открытой и продолжает расходовать время браузера, пока не истечёт тайм-аут (60 секунд по умолчанию или до 10 минут, если вы используете keep_alive опцию).

Чтобы минимизировать использование:

Отслеживать использование и просматривать причины закрытия сессий можно в дашборде Cloudflare на Browser Run страница:

Перейдите в Browser Run ↗

См. Причины закрытия браузера, где это описано подробнее.

Устранение неполадок

Ошибка: 429 Too many requests

Если отправить слишком много запросов за короткий промежуток времени, Browser Run ответит кодом состояния HTTP 429 Too many requests. Лимиты запросов для вашего аккаунта можно посмотреть в Workers Free и Workers Paid разделах выше.

Пример ниже показывает, как корректно обрабатывать превышение лимита запросов, считывая Retry-After значение и повторить запрос после этой задержки.

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);
	}
}

Ошибка: 429 Browser time limit exceeded for today

Это Error processing the request: Unable to create new browser: code: 429: message: Browser time limit exceeded for today ошибка означает, что вы достигли дневного лимита браузеров на тарифном плане Workers Free. Для аккаунтов с тарифом Workers Free действуют ограничения до 10 минут использования Browser Run в день. При превышении этого лимита вы получите 429 ошибку до следующего дня по UTC.

Вы можете увеличьте свои лимиты перейдя на тарифный план Workers Paid на Тарифы Workers странице панели управления Cloudflare:

Перейдите в Тарифы Workers ↗

Если вы недавно перешли на новый план, но всё ещё сталкиваетесь с лимитом 10 минут в день, повторно разверните Worker, чтобы использование корректно привязалось к новому плану.

Сноски

  1. Браузеры закрываются после завершения задачи или через шестьдесят секунд бездействия (если вы не увеличьте тайм-аут браузера). Поэтому на практике многим рабочим процессам не требуется большое количество одновременных браузеров. ↩ ↩2

  2. По умолчанию браузер завершает работу по тайм-ауту через 60 секунд бездействия. Вы можете увеличить это время до 10 минут с помощью keep_alive параметр. Вызовите browser.close() чтобы немедленно освободить экземпляр браузера. ↩ ↩2

  3. Если вы превысите лимит запросов в секунду, вы получите 429 ответ. См. устранение неполадок 429 Too many requests ошибка. ↩ ↩2