Оба места утверждали, что у Домклика один выделенный резидентный прокси и пула нет. Это перестало быть правдой ещё в #2800 (миграция 253 сняла резервацию узла), но текст остался — и именно на него опирался тикет #3189, поставленный под «калибровку» ограничения, которого не существует. Свип к тому же ходит через пул давно (serp.py:359), а бэкфилл подключён к нему в PR #3222. Заодно докстринг называл не тот ограничитель: свип кладёт не счётчик провалов lease, а break по первому DomClickBlockedError (#2854) — до ротации дело не доходит ни при каком счётчике, отсюда buckets_completed=0. Только комментарии, поведение не меняется. Миграция 175 уже применена, а _schema_migrations трекает по имени файла без checksum — правка текста её не перезапустит.
27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
-- Backfill domrf_kn_objects.cad_quarter через ST_Contains spatial-join.
|
||
--
|
||
-- Логика: каждый ЖК с lat/lon → найти cad-квартал, в полигон которого попадает
|
||
-- точка. Если ЖК на границе двух кварталов — берём первый (ST_Contains
|
||
-- однозначен, ST_Intersects дал бы пересечения).
|
||
--
|
||
-- Запускать ПОСЛЕ 58_fetch_cad_quarters_nspd.py.
|
||
|
||
UPDATE domrf_kn_objects o
|
||
SET cad_quarter = cq.cad_number
|
||
FROM cad_quarters_geom cq
|
||
WHERE o.region_cd = 66
|
||
AND o.latitude IS NOT NULL
|
||
AND o.longitude IS NOT NULL
|
||
AND ST_Contains(
|
||
cq.geom,
|
||
ST_SetSRID(ST_MakePoint(o.longitude, o.latitude), 4326)
|
||
)
|
||
AND (o.cad_quarter IS NULL OR o.cad_quarter <> cq.cad_number);
|
||
|
||
-- Контрольные цифры: сколько ЖК привязано / без привязки.
|
||
SELECT
|
||
COUNT(*) FILTER (WHERE cad_quarter IS NOT NULL) AS with_cad,
|
||
COUNT(*) FILTER (WHERE cad_quarter IS NULL) AS without_cad,
|
||
COUNT(DISTINCT cad_quarter) AS unique_quarters_used
|
||
FROM domrf_kn_objects
|
||
WHERE region_cd = 66 AND district_name IS NOT NULL;
|