Подключить вкладку из пула#

Пул управляет процессами браузера, контекстами, прокси, вкладками и повтором всей задачи. eazy_sdk_browser получает одну выданную вкладку и выполняет на ней одну или несколько операций.

Ресурс

Владелец

Когда закрывает

Процесс и контекст

пул

при выводе контекста или остановке пула

Вкладка

аренда пула

при завершении или отмене задачи

PydollDriver

attachment вкладки

вместе с тёплой вкладкой

AsyncBrowserClient

код задачи

до возврата аренды

Сессия контекста

поток входа пула

при смене ревизии или контекста

Attachment должен создать один PydollDriver(tab, context_key=lease.context) на тёплую вкладку. Одинаковый context_key сообщает драйверам соседних вкладок, что cookies и состояние относятся к одному контексту. Закрытие драйвера снимает его CDP callbacks, но не закрывает вкладку.

В режиме пула не создавайте BrowserSession на каждой вкладке. Пул входит на временной странице, сохраняет состояние контекста и выдаёт вкладку вместе с источником сессии. Если операция сообщает об истечении сессии, источник не меняет cookies под соседними вкладками: отказ выходит к пулу, а тот создаёт новый контекст.

Предупреждение

Повтор операции внутри клиента и повтор всей задачи пулом не должны конкурировать. После внешнего побочного эффекта зафиксируйте аренду; до фиксации только пул решает, можно ли повторить задачу.

Дальше#