- Добавлен `_rotate_proxy_ip()` в scrape_pipeline.py: вызывает changeip-URL (settings.avito_proxy_rotate_url) + settle-sleep (settings.avito_proxy_rotate_settle_s, default 9s), логирует old→new IP. - В `run_avito_pipeline` (Steps 4/5/5b) и `run_avito_city_sweep` (Phase 4/5/5b): при достижении consecutive-block порога — сначала ротация IP, сброс счётчика, продолжение; только при исчерпании бюджета (enrich_rotations_done >= avito_proxy_max_rotations) — abort (bounded). #1820 graceful сохранён: один блок ниже порога ротацию не вызывает. - Добавлено `avito_proxy_rotate_settle_s: float = 9.0` в config.py (ENV: AVITO_PROXY_ROTATE_SETTLE_S). avito_proxy_max_rotations был 4 (с #1731). - Тесты: rotation_called / bounded_abort / single_block_no_rotation. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| auth.py | ||
| config.py | ||
| db.py | ||
| fdw.py | ||
| ratelimit.py | ||