Per fixes/Bug_NSPD_WMS_NotBulk_2026_May14 action item #1: отключить beat schedule `nspd-harvest-stale-quarters` до Sprint 2 fix (grid sampling rewrite). ## Why harvest_quarter в текущей реализации пишет почти пустые dumps в nspd_quarter_dumps из-за single-pixel WMS GetFeatureInfo bug (детали в vault post-mortem). Beat запуск Mon 04:00 МСК (next: 2026-05-18 04:00 МСК): - Потратит rate-limit budget на ~12k EKB кварталов - Заполнит nspd_quarter_dumps мусорными rows - analyze_parcel начнёт отдавать пустые nspd_zoning/nspd_zouit_overlaps/ nspd_engineering_nearby для всех пользователей (через quarter_dump_lookup) ## What changed `backend/app/workers/celery_app.py` — закомментирован `schedule[ "nspd-harvest-stale-quarters"]` блок (~10 строк) с inline-комментом explanation + ссылкой на vault post-mortem. ## What НЕ changed - `backend/app/workers/tasks/nspd_sync.py` — task code (harvest_quarter, harvest_stale_quarters) остаётся, можно re-enable после Sprint 2 fix - Admin endpoint для manual trigger остаётся работающим - Все остальные beat tasks (poi-sync, noise-sync, zombie-cleanup, refresh-ekb-districts-medians, kn-region-*) — не тронуты ## Vault - fixes/Bug_NSPD_WMS_NotBulk_2026_May14.md — status `identified` → `mitigated` (уже обновлено через vault audit pass) ## Re-enable После Sprint 2 grid-sampling rewrite (см. Bug post-mortem → Sprint 2 fix-strategy) — uncomment блок + verify через staging. Co-authored-by: lekss361 <claudestars@proton.me>
This commit is contained in:
parent
b3f32ae927
commit
f5794173de
1 changed files with 18 additions and 10 deletions
|
|
@ -231,16 +231,24 @@ def _build_beat_schedule() -> dict:
|
||||||
"options": {"queue": "celery"},
|
"options": {"queue": "celery"},
|
||||||
}
|
}
|
||||||
|
|
||||||
# NSPD quarter dump refresh — понедельник 04:00 МСК.
|
# NSPD quarter dump refresh — DISABLED 2026-05-14 per Bug_NSPD_WMS_NotBulk
|
||||||
# Fanout'ит harvest_quarter.apply_async для кварталов старше 90 дней или
|
# post-mortem (vault: fixes/Bug_NSPD_WMS_NotBulk_2026_May14.md).
|
||||||
# отсутствующих в nspd_quarter_dumps. batch_size=50 — ~5 мин при 600ms rate.
|
#
|
||||||
# Запускается через час после poi-sync чтобы не создавать конкуренцию.
|
# Action item #1: disable beat schedule до Sprint 2 fix (grid sampling
|
||||||
schedule["nspd-harvest-stale-quarters"] = {
|
# rewrite). harvest_quarter в текущей реализации пишет почти пустые dumps
|
||||||
"task": "tasks.nspd_sync.harvest_stale_quarters",
|
# из-за single-pixel WMS GetFeatureInfo bug. Запуск Mon 04:00 МСК потратит
|
||||||
"schedule": _parse_cron("0 4 * * mon"),
|
# rate-limit budget и заполнит nspd_quarter_dumps мусором.
|
||||||
"kwargs": {"region_code": 66, "max_age_days": 90, "batch_size": 50},
|
#
|
||||||
"options": {"queue": "celery"},
|
# Task code остаётся в tasks/nspd_sync.py — re-enable после Sprint 2 grid
|
||||||
}
|
# sampling rewrite (см. Bug_NSPD_WMS_NotBulk_2026_May14 → Sprint 2 fix-strategy).
|
||||||
|
# До тех пор harvest_quarter можно вызывать вручную через admin endpoint.
|
||||||
|
#
|
||||||
|
# schedule["nspd-harvest-stale-quarters"] = {
|
||||||
|
# "task": "tasks.nspd_sync.harvest_stale_quarters",
|
||||||
|
# "schedule": _parse_cron("0 4 * * mon"),
|
||||||
|
# "kwargs": {"region_code": 66, "max_age_days": 90, "batch_size": 50},
|
||||||
|
# "options": {"queue": "celery"},
|
||||||
|
# }
|
||||||
|
|
||||||
return schedule
|
return schedule
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue