From b0ffca4c412a364a6c386df96ad58d979694f64c Mon Sep 17 00:00:00 2001 From: lekss361 Date: Sun, 24 May 2026 15:15:32 +0300 Subject: [PATCH] =?UTF-8?q?fix(scrapers):=20disable=20catalog-object=20SSR?= =?UTF-8?q?=20beat-cron=20=E2=80=94=20DOM.=D0=A0=D0=A4=20WAF=20cooldown?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DOM.РФ накатил WAF hard-ban на VPS IP после серии failed extras-сессий (run 26/27/28 — суммарно ~15400+ requests с body ''). Catalog-object SSR (`tasks.scrape_kn_catalog_objects`) использует тот же BrowserSession и navigates на /сервисы/каталог-новостроек/объект/{id} — точно те же endpoints под WAF. Next beat-tick вт 26.05 04:00 UTC насыпет 300 failed SSR fetches и углубит WAF reputation penalty. Commented out беспрепятственно (без infrastructure change). Возврат после 24-48h WAF cooldown + targeted test через admin/scrape. Параллельные disable'ы через DB job_settings уже сделаны: - scrape_kn (enabled=false) - objective_sync (enabled=false) --- backend/app/workers/beat_schedule.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/backend/app/workers/beat_schedule.py b/backend/app/workers/beat_schedule.py index f474e88c..f13fef52 100644 --- a/backend/app/workers/beat_schedule.py +++ b/backend/app/workers/beat_schedule.py @@ -240,12 +240,18 @@ def build_beat_schedule() -> dict: # Catalog-object scrape — наполняет ~25 NULL колонок domrf_kn_objects из SSR-страниц. # kn-API не отдаёт wall_type, energy_eff, ceiling_height_m, parking_* и т.д. # Вторник 04:00 UTC. batch 300/run → 1532 объекта за ~5 недель полного обновления. - schedule["scrape-kn-catalog-objects-weekly"] = { - "task": "tasks.scrape_kn_catalog_objects.scrape_kn_catalog_objects", - "schedule": _parse_cron("0 4 * * 2"), # Tuesday 04:00 UTC - "kwargs": {"region_code": 66, "max_objects": 300}, - "options": {"queue": "celery"}, - } + # + # DISABLED 2026-05-24: DOM.РФ WAF дал hard-ban на VPS IP после серии failed + # extras-сессий (run 26/27/28). Catalog SSR использует тот же BrowserSession + # + те же /сервисы/* paths → следующий beat-tick (вт 26.05 04:00 UTC) насыпет + # 300 failed SSR fetches и углубит WAF reputation penalty. Возврат после + # cooldown 24-48h (проверить через targeted test). + # schedule["scrape-kn-catalog-objects-weekly"] = { + # "task": "tasks.scrape_kn_catalog_objects.scrape_kn_catalog_objects", + # "schedule": _parse_cron("0 4 * * 2"), # Tuesday 04:00 UTC + # "kwargs": {"region_code": 66, "max_objects": 300}, + # "options": {"queue": "celery"}, + # } # NSPD quarter dump refresh — re-enabled 2026-05-17 после Sub-PR B (#260) # переключения search_by_quarter на grid-walk. Foundation (#247) + integration -- 2.45.3