Merge pull request 'fix(tradein/avito): detail_backfill ходил curl'ом, который не решает PoW-челлендж' (#3049) from fix/avito-backfill-browser-transport into main
All checks were successful
Deploy Trade-In / changes (push) Successful in 11s
Deploy Trade-In / build-browser (push) Successful in 40s
Deploy Trade-In / build-frontend (push) Successful in 2m19s
Deploy Trade-In / test (push) Successful in 3m48s
Deploy Trade-In / build-backend (push) Successful in 1m2s
Deploy Trade-In / deploy (push) Successful in 2m18s
Deploy Trade-In / deploy-status (push) Successful in 1s
Deploy Trade-In / perimeter-smoke (push) Successful in 9s

This commit is contained in:
lekss361 2026-08-21 22:51:34 +00:00
commit 7f6dbc9a59
2 changed files with 21 additions and 0 deletions

View file

@ -964,6 +964,15 @@ class Settings(BaseSettings):
# True (дефолт) = curl_cffi через settings.scraper_proxy_url (backconnect mproxy).
# False = старое browser-поведение (BrowserFetcher/auv, как scraper_fetch_mode).
# ENV: AVITO_DETAIL_BACKFILL_USE_CURL.
#
# ⚠️ Обоснование выше УСТАРЕЛО для Авито (замер 2026-08-21). Авито за QRATOR
# отдаёт JS proof-of-work челлендж, который curl_cffi не решает: прогоны
# 4348/4394/4508 — 3-4 обогащённых из 46-53 попыток (~6%) против ~74% на
# браузерном пути. Опасение «browser превышает cap прокси-аккаунта auv» снято:
# браузер сериализован BROWSER_CONCURRENCY=1 и ходит через тот же backconnect.
# Прод переведён на браузер через docker-compose.prod.yml (environment
# перекрывает env_file). Дефолт оставлен True, чтобы не менять поведение
# других окружений вслепую.
avito_detail_backfill_use_curl: bool = Field(
default=True, validation_alias="AVITO_DETAIL_BACKFILL_USE_CURL"
)

View file

@ -336,6 +336,18 @@ services:
USE_KIT_SCHEDULER: "true"
USE_PROXY_POOL_CURL: "true"
USE_PROXY_POOL_BROWSER: "true"
# Транспорт detail_backfill: браузер, НЕ curl (замер 2026-08-21).
# Авито за QRATOR отдаёт JavaScript proof-of-work челлендж (startPow →
# кука pow_solved → self-reload). curl_cffi его не решает в принципе:
# прогоны 4348/4394/4508 дали 3-4 обогащённых из 46-53 попыток (~6%).
# Браузерный путь (camoufox + ожидание челленджа, #3045/#3046) на том же
# проде даёт ~74% (17/23 в свипе, 2/3 в точечной проверке).
# Исходное обоснование use_curl=True (browser открывает десятки коннектов
# и превышает cap прокси-аккаунта auv) больше не действует: браузер
# сериализован BROWSER_CONCURRENCY=1 и ходит через тот же backconnect
# SCRAPER_PROXY_URL, что и curl-путь.
# environment: перекрывает env_file — значение из runtime-env игнорируется.
AVITO_DETAIL_BACKFILL_USE_CURL: "false"
depends_on:
postgres:
condition: service_healthy