gendesign/backend/app/workers/tasks
Light1YT 1883271908
Some checks failed
CI / changes (push) Successful in 7s
CI / frontend-tests (push) Has been skipped
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (pull_request) Has been skipped
CI / backend-tests (push) Successful in 6m43s
CI / backend-tests (pull_request) Successful in 6m41s
Deploy / build-backend (push) Blocked by required conditions
Deploy / deploy (push) Blocked by required conditions
Deploy / build-worker (push) Blocked by required conditions
Deploy / build-frontend (push) Blocked by required conditions
Deploy / changes (push) Has been cancelled
fix(cadastre): NSPD 500-retry + per-layer skip (#252) + disable dead pzz-beat (#259) + geom backfill (#200)
#252: NspdBulkServerError на HTTP 5xx + WMS <ServiceException>-body → quarter-level
autoretry; _grid_walk_category флагует layer_failed только если ВСЕ cells 5xx (none ok),
network-errors исключены — пустой/флапающий слой не ложно-скипается. harvest_meta.layer_X_failed.

#259: pzz-sync-monthly beat отключён (PKK6 deprecated, pzz_zones_ekb=0, заменён
zone_regulation_cache+NSPD dumps). logger.exception→warning (стоп GlitchTip BACKEND-1B),
raise сохранён для admin-endpoint.

#200: geom_unavailable флаг (миграция 151) + backfill_parcel_geom task — grid-walk
layer 36368 per quarter лечит 930/964 NULL-geom участков (NSPD search вернул центроиды),
остаток marks unavailable (не ретраить вечно). SAVEPOINT per-cell, idempotent.

Closes #252
Closes #259
Closes #200
2026-06-13 20:45:05 +05:00
..
__init__.py add interactive parser of наш.дом.рф ЖК+flats with stealth Playwright 2026-04-27 17:58:40 +03:00
cbr_macro_sync.py feat(macro): CBR inflation (ИПЦ YoY) -> macro_indicator + activate §9.5 channel (#946) 2026-06-08 11:41:14 +05:00
developer_registry_refresh.py feat(site-finder): детерминированная атрибуция застройщика в analyze (#1088) 2026-06-13 16:13:45 +05:00
ekb_krt_sync.py feat(sf): scraper реестра КРТ-площадок ЕКБ → ekb_krt_sites (#1126) 2026-06-07 11:24:49 +00:00
ekb_ppt_tep_sync.py fix(sf): ekb_ppt_tep post-фильтры + врезка в analyze (#1136) 2026-06-13 09:32:52 +00:00
ekburg_permits_sync.py feat(sf): geocode geom для ekburg_construction_permits из МСК-66 (#1124) 2026-06-07 11:16:45 +00:00
etl_newbuilding_crossload.py feat(sf): cross-load ETL tradein→gendesign newbuilding_listings — вариант A (#976) 2026-06-12 11:18:47 +03:00
forecast.py feat(forecast): forecast_site_finder_report Celery task + schema-filtered run read (3b-i) 2026-06-05 09:02:15 +05:00
genplan_zones_sync.py fix(sf): ST_MakeValid genplan geom + backfill 881 invalid polygons (#1157) 2026-06-07 17:59:04 +00:00
gknspecial_harvest.py fix(workers): per-prefix db.commit() в gknspecial_harvest для durability (#1116) 2026-06-13 15:02:50 +05:00
ird_harvest.py fix(sf): per-quarter commit в ird/opportunity harvest — не терять прогресс при краше (#1107) 2026-06-06 21:47:35 +00:00
izyatie_ocr_ingest.py feat(sf): OCR-пайплайн изъятия ЕКБ (Tesseract rus) → land_reservation (#1062) 2026-06-07 18:07:06 +03:00
krt_geometry_sync.py perf(sf): КРТ-геометрия в БД, _krt_at из БД вместо живого WFS (#1139) 2026-06-07 12:14:35 +00:00
location_refresh.py feat(location): district-level Location entity + indices (#948 part B) 2026-06-08 13:28:19 +05:00
noise_sync.py feat(site-finder): v3.2 — noise + air quality + wind analytics 2026-05-11 20:42:37 +03:00
nspd_denorm_backfill.py feat(nspd): denorm nspd_parcels + nspd_buildings tables (#94 PR3 of 4) 2026-05-16 20:20:03 +03:00
nspd_geo.py fix(workers): re-raise SoftTimeLimitExceeded в nspd_geo, set paused (#1235) 2026-06-13 08:20:18 +00:00
nspd_sync.py fix(#231): address re-review blockers — per-instance semaphore + time_limit + test mocks 2026-05-17 10:13:34 +03:00
objective_etl.py fix(worker): port objective_etl from psycopg2 → psycopg v3 2026-05-11 12:07:57 +03:00
okn_objects_sync.py fix(okn): expand registry coverage + load detail-card name/address (#1159) 2026-06-13 15:02:50 +05:00
opportunity_harvest.py fix(sf): per-quarter commit в ird/opportunity harvest — не терять прогресс при краше (#1107) 2026-06-06 21:47:35 +00:00
pat_subzones_load.py fix(sf): робастный путь к koltsovo JSON в pat-loader (#1155) 2026-06-07 15:34:10 +00:00
planning_harvest.py feat(sf): ППТ/ПМТ WFS ingest → planning_projects (future-supply, #1104) 2026-06-06 20:25:23 +00:00
poi_sync.py debug(poi-sync): DB breadcrumbs to nspd_geo_log for silent-fail diagnosis 2026-05-11 18:37:43 +03:00
pzz_sync.py fix(cadastre): NSPD 500-retry + per-layer skip (#252) + disable dead pzz-beat (#259) + geom backfill (#200) 2026-06-13 20:45:05 +05:00
refresh_analytics.py fix(scrape): SQLAlchemy text() парсил ':00:' regex как named-param 2026-04-30 23:16:11 +03:00
refresh_quarter_price_index.py feat(db): quarter_price_index FDW foreign table + monthly refresh (Refs #762) (#797) 2026-05-30 17:16:28 +00:00
reservation_ingest.py feat(sf): enumerate изъятия/резервирования с pravo.gov66 → land_reservation (#1145) 2026-06-07 13:56:29 +00:00
rosstat_macro_sync.py feat(macro): land construction price index (СМР) via open Rosstat xlsx (#946) 2026-06-09 11:28:05 +05:00
scrape_cadastre.py fix(cadastre): NSPD 500-retry + per-layer skip (#252) + disable dead pzz-beat (#259) + geom backfill (#200) 2026-06-13 20:45:05 +05:00
scrape_kn.py fix(scrape_kn): Redis-lock owner-token + resume retry on lock_held (#1216) 2026-06-13 05:44:24 +00:00
scrape_kn_catalog_objects.py feat(22d): catalog scraper — skip-today filter + force flag (#348) 2026-05-17 23:15:22 +00:00
scrape_objective.py fix(workers): count lots_pf failure correctly, no silent 'done' (#1220) 2026-06-13 07:34:57 +00:00
supply_layers_refresh.py fix(supply-layers): thread dev_group_name into L3 upsert key (#970 CRITICAL) 2026-06-04 10:06:30 +05:00
zone_regulation_refresh.py feat(sf): прогрев zone_regulation_cache по терзонам ЕКБ (#1106) 2026-06-06 21:04:52 +00:00