fix(ptica): загрузка ЦП больше не пишется в категориальную колонку (#2464-B) #2882
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#2882
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "fix/2464-eesk-load-index"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что
Лоадер ЕЭСК писал степень загрузки из колонки E листа так:
load_index— категориальная колонка:'open'|'limited'|'closed'|NULL(
data/sql/180_connection_capacity.sql:35), её заполняетrosseti_wfs_loader._map_load_indexровно этими тремя значениями.Что ломается от числа в этой колонке
Обе стороны сразу:
classifyLoadIndexnull→ точка на карте «неизвестно»power_summary.by_load_indexopen/limited/closedпоявился бы бакет с именем"41.0"и счётчиком 1То есть значение не просто не помогает — оно деградирует уже работающий показатель.
Почему сегодня не стреляет
load_indexзаполнен у всех строк,COALESCEне проваливается:(замер верификации 13.08, независимо переснят скептиком). Первая же строка с пустым
индексом положила бы туда число — это «не сработало сегодня», а не «работает правильно».
Как
load_index = COALESCE(...).power_supply_centersнет —load_indexкатегориальный,current_load_mvaв мегавольт-амперах. Записатьпроцент значило бы либо испортить категориальное поле, либо ошибиться единицами.
_pct_share_to_percentоставлен с тестами, но в докстроке теперь прямо написано, чтопродакшен-вызывающих у него нет и при каком условии он снова понадобится (числовая
колонка под процент). Иначе это был бы ровно тот «код есть, эффекта нет», который
выглядит работающим.
Проверка
Старый тест фиксировал ровно отменяемое поведение:
Заменён на проверку, что ни SQL, ни параметры загрузку не несут. Пришлось сравнивать
исполняемый текст, а не прозу: слово
load_indexосталось в поясняющем комментариивнутри SQL, и наивная проверка на подстроку падала на собственном объяснении — комментарии
из строки вырезаются перед сравнением.
Двусторонность против лоадера из main:
pytest tests/test_eesk_reserve_loader.py— 11 passedruff check— cleanЧто осталось
Процент загрузки ЦП сейчас нигде не хранится. Если он нужен продукту — заводить под
него числовую колонку (
load_pct NUMERIC) отдельной миграцией; парсер для листа уже естьи покрыт тестами. Если не нужен — удалить
_pct_share_to_percentвместе с тестом, а недержать молча.
Refs #2464