gendesign/backend/tests/services/scrapers
bot-backend 3c00af227e
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 8s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 2m1s
CI / backend-tests (pull_request) Successful in 14m54s
fix(scrapers): rate-limit/backoff/circuit-breaker для ОКН EGRKN-скрапера (#2445-D3)
WAF-гигиена (#2443): okn-mk.mkrf.ru имеет тот же unthrottled-request risk shape,
что забанил VPS в WAF ДОМ.РФ. okn_egrkn_client не имел пейсинга/backoff,
okn_objects_sync шлёт до 1500 последовательных GET без пауз.

Добавлено: _wait_rate_limit() (shared 400ms gate между searchMap+detail на одном
WAF-хосте), 429/5xx экспоненциальный backoff (base 2с, cap 60с, Retry-After
honored) в _do_request/_do_detail_request (recursion bounded _MAX_RETRIES=3),
circuit-breaker _DETAIL_FAIL_BREAKER=20 (consecutive fails, reset on success,
break только detail-цикла). Идиомы из nspd_client/objective/gisogd66.

Refs #2445
2026-07-06 00:50:57 +05:00
..
__init__.py feat(22d): domrf_catalog_object scraper — fill ~25 NULL kn_objects cols from SSR __NEXT_DATA__ (#335) 2026-05-17 21:26:22 +00:00
test_domrf_catalog_object.py feat(22d): domrf_catalog_object scraper — fill ~25 NULL kn_objects cols from SSR __NEXT_DATA__ (#335) 2026-05-17 21:26:22 +00:00
test_domrf_catalog_parse.py fix(scrapers): narrow domrf Level-1 status badge-class regex (#1609 follow-up) 2026-06-17 21:21:56 +03:00
test_domrf_flat_plan_url.py feat(scrapers): extract + download DOM.РФ flat plan images (#2440) (#2441) 2026-07-05 16:23:29 +00:00
test_domrf_kn_isolation.py fix(scrapers): разблокировать domrf_kn flats — изоляция flats от poison-extras + throttle (#1945) (#2050) 2026-06-28 13:03:43 +00:00
test_domrf_kn_normalize.py feat(scrapers): wire per-flat DOM.РФ catalog scraper + propagate catalog_url_hash (#2442) (#2444) 2026-07-05 17:00:58 +00:00
test_ekb_krt_registry.py feat(sf): scraper реестра КРТ-площадок ЕКБ → ekb_krt_sites (#1126) 2026-06-07 11:24:49 +00:00
test_ekb_ppt_tep_parser.py fix(sf): ekb_ppt_tep post-фильтры + врезка в analyze (#1136) 2026-06-13 09:32:52 +00:00
test_flat_plan_download.py feat(scrapers): extract + download DOM.РФ flat plan images (#2440) (#2441) 2026-07-05 16:23:29 +00:00
test_gisogd_so_client.py feat(sf): ingest функц.зон генплана ЕКБ-2045 из ГИСОГД-СО WFS → ekb_genplan_functional_zone (#1137) 2026-06-07 12:03:39 +00:00
test_izyatie_ocr.py feat(sf): OCR-пайплайн изъятия ЕКБ (Tesseract rus) → land_reservation (#1062) 2026-06-07 18:07:06 +03:00
test_okn_egrkn_client.py fix(scrapers): rate-limit/backoff/circuit-breaker для ОКН EGRKN-скрапера (#2445-D3) 2026-07-06 00:50:57 +05:00
test_page_reservation_parser.py feat(sf): ПАГЕ-парсер изъятия/резервирования → land_reservation (#1118) 2026-06-07 10:15:03 +00:00
test_stealth_throttle_proxy.py fix(scrapers): разблокировать domrf_kn flats — изоляция flats от poison-extras + throttle (#1945) (#2050) 2026-06-28 13:03:43 +00:00