chore(tradein): две ручки ротации без читателей и врущий комментарий над ними #3232
7 changed files with 9 additions and 35 deletions
|
|
@ -886,21 +886,17 @@ class Settings(BaseSettings):
|
||||||
"""
|
"""
|
||||||
return self.scraper_proxy_url_env
|
return self.scraper_proxy_url_env
|
||||||
|
|
||||||
# ── Ban-recovery budget knobs (changeip-механизм снят #2616 шаг 2) ────────
|
# ── Ban-recovery budget knobs (changeip снят #2616 шаг 2) ────────────────
|
||||||
# Раньше эти поля тюнили retry/settle для GET-changeip mobileproxy
|
# Живая ротация IP — ASOCKS_API_TOKEN / app.services.proxy_rotation (#2611);
|
||||||
# (AVITO_PROXY_ROTATE_URL и т.д., см. историю выше) — сама ссылка удалена
|
# `_rotate_ip`/`_rotate_proxy_ip` остались no-op после удаления changeip-ссылки.
|
||||||
# (закрытый аккаунт), поэтому IP-ротация сейчас всегда no-op (_rotate_ip /
|
# Обе ручки читаются: `*_proxy_max_rotations` гейтит бюджет попыток в
|
||||||
# _rotate_proxy_ip возвращают False без сетевого похода). Поля оставлены:
|
# ban-rotation (scraper_kit.orchestration.pipeline._max_rotations),
|
||||||
# `*_proxy_max_rotations` продолжают гейтить бюджет попыток в ban-rotation
|
# `avito_proxy_rotate_settle_s` — верхняя граница asyncio.wait_for в
|
||||||
# state machine (scraper_kit.orchestration.pipeline._try_rotate_within_budget)
|
# app.tasks.avito_detail_backfill.
|
||||||
# — те же 0 попыток "успеха", что и раньше при мёртвом changeip, просто без
|
# #3212: proxy_rotate_attempts / proxy_rotate_attempt_timeout_s удалены —
|
||||||
# затрат на HTTP; `avito_proxy_rotate_settle_s` — верхняя граница
|
# ретраи changeip-GET, которых больше нет; ни одного читателя не осталось.
|
||||||
# asyncio.wait_for в app.tasks.avito_detail_backfill (страховка от зависания).
|
|
||||||
# Живая ротация IP — ASOCKS_API_TOKEN / app.services.proxy_rotation (#2611).
|
|
||||||
avito_proxy_max_rotations: int = 4
|
avito_proxy_max_rotations: int = 4
|
||||||
avito_proxy_rotate_settle_s: float = 9.0
|
avito_proxy_rotate_settle_s: float = 9.0
|
||||||
proxy_rotate_attempt_timeout_s: float = 8.0
|
|
||||||
proxy_rotate_attempts: int = 3
|
|
||||||
|
|
||||||
# ── ASocks pool-proxy rotation (#2600) ───────────────────────────────────
|
# ── ASocks pool-proxy rotation (#2600) ───────────────────────────────────
|
||||||
# Bearer-токен веб-кабинета ASocks для POST .../unlimited-proxy/{portId}/refresh-ip
|
# Bearer-токен веб-кабинета ASocks для POST .../unlimited-proxy/{portId}/refresh-ip
|
||||||
|
|
|
||||||
|
|
@ -175,14 +175,6 @@ class RealScraperConfig:
|
||||||
def avito_proxy_rotate_settle_s(self) -> float:
|
def avito_proxy_rotate_settle_s(self) -> float:
|
||||||
return _settings.avito_proxy_rotate_settle_s
|
return _settings.avito_proxy_rotate_settle_s
|
||||||
|
|
||||||
@property
|
|
||||||
def proxy_rotate_attempts(self) -> int:
|
|
||||||
return _settings.proxy_rotate_attempts
|
|
||||||
|
|
||||||
@property
|
|
||||||
def proxy_rotate_attempt_timeout_s(self) -> float:
|
|
||||||
return _settings.proxy_rotate_attempt_timeout_s
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def cian_proxy_max_rotations(self) -> int:
|
def cian_proxy_max_rotations(self) -> int:
|
||||||
return _settings.cian_proxy_max_rotations
|
return _settings.cian_proxy_max_rotations
|
||||||
|
|
|
||||||
|
|
@ -155,8 +155,6 @@ def _config() -> SimpleNamespace:
|
||||||
avito_proxy_max_rotations=0,
|
avito_proxy_max_rotations=0,
|
||||||
avito_serp_ok_not_banned=True,
|
avito_serp_ok_not_banned=True,
|
||||||
avito_proxy_rotate_settle_s=0.0,
|
avito_proxy_rotate_settle_s=0.0,
|
||||||
proxy_rotate_attempts=1,
|
|
||||||
proxy_rotate_attempt_timeout_s=1.0,
|
|
||||||
avito_full_load_price_cap=1400,
|
avito_full_load_price_cap=1400,
|
||||||
avito_full_load_max_pages=100,
|
avito_full_load_max_pages=100,
|
||||||
avito_full_load_concurrency=1,
|
avito_full_load_concurrency=1,
|
||||||
|
|
|
||||||
|
|
@ -99,8 +99,6 @@ def _config() -> SimpleNamespace:
|
||||||
avito_proxy_max_rotations=0,
|
avito_proxy_max_rotations=0,
|
||||||
avito_serp_ok_not_banned=True,
|
avito_serp_ok_not_banned=True,
|
||||||
avito_proxy_rotate_settle_s=0.0,
|
avito_proxy_rotate_settle_s=0.0,
|
||||||
proxy_rotate_attempts=1,
|
|
||||||
proxy_rotate_attempt_timeout_s=1.0,
|
|
||||||
cian_proxy_max_rotations=0,
|
cian_proxy_max_rotations=0,
|
||||||
yandex_proxy_max_rotations=0,
|
yandex_proxy_max_rotations=0,
|
||||||
cian_full_load_per_fetch_timeout_s=0.0,
|
cian_full_load_per_fetch_timeout_s=0.0,
|
||||||
|
|
|
||||||
|
|
@ -195,8 +195,6 @@ def _serp_config() -> SimpleNamespace:
|
||||||
avito_proxy_max_rotations=0,
|
avito_proxy_max_rotations=0,
|
||||||
avito_serp_ok_not_banned=True,
|
avito_serp_ok_not_banned=True,
|
||||||
avito_proxy_rotate_settle_s=0.0,
|
avito_proxy_rotate_settle_s=0.0,
|
||||||
proxy_rotate_attempts=1,
|
|
||||||
proxy_rotate_attempt_timeout_s=1.0,
|
|
||||||
scraper_skip_seen_today=False,
|
scraper_skip_seen_today=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -128,8 +128,6 @@ class _Scenario:
|
||||||
avito_proxy_max_rotations=self.avito_proxy_max_rotations,
|
avito_proxy_max_rotations=self.avito_proxy_max_rotations,
|
||||||
avito_serp_ok_not_banned=self.avito_serp_ok_not_banned,
|
avito_serp_ok_not_banned=self.avito_serp_ok_not_banned,
|
||||||
avito_proxy_rotate_settle_s=0.0,
|
avito_proxy_rotate_settle_s=0.0,
|
||||||
proxy_rotate_attempts=1,
|
|
||||||
proxy_rotate_attempt_timeout_s=1.0,
|
|
||||||
cian_proxy_max_rotations=0,
|
cian_proxy_max_rotations=0,
|
||||||
yandex_proxy_max_rotations=0,
|
yandex_proxy_max_rotations=0,
|
||||||
scraper_skip_seen_today=False,
|
scraper_skip_seen_today=False,
|
||||||
|
|
|
||||||
|
|
@ -157,12 +157,6 @@ class ScraperConfig(Protocol):
|
||||||
avito_serp_ok_not_banned: bool
|
avito_serp_ok_not_banned: bool
|
||||||
# changeip settle-пауза (секунды) после ротации IP.
|
# changeip settle-пауза (секунды) после ротации IP.
|
||||||
avito_proxy_rotate_settle_s: float
|
avito_proxy_rotate_settle_s: float
|
||||||
# Ретраи changeip-GET: N попыток по proxy_rotate_attempt_timeout_s каждая (#1950).
|
|
||||||
# changeip-ссылка снята (#2616 шаг 2) — эти два поля сейчас не читаются
|
|
||||||
# ban-rotation кодом (см. avito_proxy_max_rotations выше), оставлены как
|
|
||||||
# budget-верхняя-граница для app.tasks.avito_detail_backfill wait_for.
|
|
||||||
proxy_rotate_attempts: int
|
|
||||||
proxy_rotate_attempt_timeout_s: float
|
|
||||||
# Cian лимит ротаций (rotate_url снят #2616 шаг 2, см. avito_proxy_max_rotations).
|
# Cian лимит ротаций (rotate_url снят #2616 шаг 2, см. avito_proxy_max_rotations).
|
||||||
cian_proxy_max_rotations: int
|
cian_proxy_max_rotations: int
|
||||||
# Yandex лимит ротаций (аналогично).
|
# Yandex лимит ротаций (аналогично).
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue