- Сервис api (FastAPI, без Chrome): POST /v2/tasks, GET /v2/tasks/{id} (доступ по cookie
сессии), DELETE /v2/sessions/current; /v1/solve — прежний контракт поверх очереди.
- Сервис worker (dramatiq + RabbitMQ): слоты браузера, окна сессий между задачами
(browser_idle_timeout 0–120 мин, простой — TTL ключа в Redis), heartbeat.
- Маршрутизация задач сессии в персональную очередь воркера с открытым окном.
- Redis: задачи, результаты (RESULT_TTL_HOURS), окна, воркеры. Прокси и ключ 2captcha
в Redis не сохраняются.
- Движок: AsyncStealthySession.run() — действия на текущей странице без навигации.
- Два образа (robotex-api, robotex-worker), compose с rabbitmq и redis,
make up/down/logs/smoke, релиз собирает все образы.
- Тесты: api + worker в одном процессе (fakeredis), настоящий воркер dramatiq на
StubBroker, браузерные тесты на новой схеме, smoke для запущенного стенда.
- Документация: README, API (v2), Deployment, Usage.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
84 lines
1.4 KiB
Plaintext
84 lines
1.4 KiB
Plaintext
2captcha-python==2.1.1
|
|
aiofiles==25.1.0
|
|
aiohappyeyeballs==2.7.1
|
|
aiohttp==3.14.3
|
|
aiosignal==1.4.0
|
|
annotated-doc==0.0.5
|
|
annotated-types==0.8.0
|
|
anyio==4.15.1
|
|
apify_fingerprint_datapoints==0.15.0
|
|
attrs==26.1.0
|
|
blessed==1.49.0
|
|
browserforge==1.2.4
|
|
camoufox==0.5.6
|
|
certifi==2026.7.22
|
|
charset-normalizer==3.5.1
|
|
click==8.5.0
|
|
distro==1.9.0
|
|
dramatiq==2.2.1
|
|
editor==1.8.0
|
|
fastapi==0.141.1
|
|
frozenlist==1.8.0
|
|
geoip2==5.3.0
|
|
greenlet==3.5.5
|
|
h11==0.16.0
|
|
httpcore==1.0.9
|
|
httpx==0.28.1
|
|
idna==3.19
|
|
inquirer==3.4.1
|
|
jinxed==2.1.0
|
|
language-tags==1.3.1
|
|
lxml==6.1.3
|
|
marionette_driver==3.7.1
|
|
markdown-it-py==4.2.0
|
|
maxminddb==3.1.1
|
|
mdurl==0.1.2
|
|
mozdevice==4.2.0
|
|
mozfile==3.0.0
|
|
mozinfo==1.2.3
|
|
mozlog==8.1.0
|
|
mozprocess==1.4.0
|
|
mozprofile==3.0.0
|
|
mozrunner==8.4.0
|
|
mozsystemmonitor==1.0.1
|
|
mozterm==1.0.0
|
|
mozversion==2.4.0
|
|
msgspec==0.21.1
|
|
multidict==6.7.1
|
|
numpy==2.5.3
|
|
orjson==3.12.0
|
|
patchright==1.63.0
|
|
pika==1.4.4
|
|
platformdirs==4.11.7
|
|
playwright==1.62.0
|
|
propcache==0.5.2
|
|
psutil==7.2.2
|
|
pydantic==2.13.5
|
|
pydantic_core==2.46.5
|
|
pyee==13.0.1
|
|
Pygments==2.21.0
|
|
PySide6==6.11.2
|
|
PySide6_Addons==6.11.2
|
|
PySide6_Essentials==6.11.2
|
|
PySocks==1.7.1
|
|
PyYAML==6.0.3
|
|
readchar==4.2.2
|
|
redis==8.1.0
|
|
requests==2.34.2
|
|
rich==15.0.0
|
|
rich-click==1.9.9
|
|
runs==1.3.0
|
|
screeninfo==0.8.1
|
|
shiboken6==6.11.2
|
|
six==1.17.0
|
|
starlette==1.6.0
|
|
typing-inspection==0.4.4
|
|
typing_extensions==4.16.0
|
|
ua-parser==1.0.2
|
|
ua-parser-builtins==202606
|
|
urllib3==2.7.0
|
|
uvicorn==0.52.4
|
|
wcwidth==0.8.3
|
|
xmod==1.10.0
|
|
yarl==1.24.5
|