Оба места утверждали, что у Домклика один выделенный резидентный прокси и пула нет. Это перестало быть правдой ещё в #2800 (миграция 253 сняла резервацию узла), но текст остался — и именно на него опирался тикет #3189, поставленный под «калибровку» ограничения, которого не существует. Свип к тому же ходит через пул давно (serp.py:359), а бэкфилл подключён к нему в PR #3222. Заодно докстринг называл не тот ограничитель: свип кладёт не счётчик провалов lease, а break по первому DomClickBlockedError (#2854) — до ротации дело не доходит ни при каком счётчике, отсюда buckets_completed=0. Только комментарии, поведение не меняется. Миграция 175 уже применена, а _schema_migrations трекает по имени файла без checksum — правка текста её не перезапустит.
36 lines
1.6 KiB
PL/PgSQL
36 lines
1.6 KiB
PL/PgSQL
-- #93 (PR #95): indexes for on-demand cadastre fetch lookups.
|
||
--
|
||
-- Context:
|
||
-- `find_active_on_demand_job` и `find_recent_completed_job` в
|
||
-- `app/services/site_finder/cadastre_fetch.py` фильтруют
|
||
-- `nspd_geo_targets` по cad_num + `nspd_geo_jobs` по source_kind+status.
|
||
-- Existing UNIQUE(job_id, cad_num, thematic_id) на targets не помогает
|
||
-- при WHERE cad_num=:c — нужен secondary index.
|
||
--
|
||
-- Не блокер при текущем размере таблицы (~10K targets), но критично при
|
||
-- ускорении on-demand traffic (per #93 trigger любым посетителем
|
||
-- /site-finder).
|
||
--
|
||
-- Apply: idempotent, CREATE INDEX IF NOT EXISTS — safe to run multiple
|
||
-- times. CONCURRENTLY не используется чтобы коммит был атомарным; на
|
||
-- prod размере index build занимает <1s.
|
||
|
||
BEGIN;
|
||
|
||
-- Targets — поиск активных on-demand job'ов для конкретного cad
|
||
CREATE INDEX IF NOT EXISTS nspd_geo_targets_cad_num_idx
|
||
ON nspd_geo_targets(cad_num);
|
||
|
||
-- Jobs — фильтр source_kind='auto_on_demand' + status IN (queued,running)
|
||
CREATE INDEX IF NOT EXISTS nspd_geo_jobs_source_status_idx
|
||
ON nspd_geo_jobs(source_kind, status);
|
||
|
||
COMMIT;
|
||
|
||
COMMENT ON INDEX nspd_geo_targets_cad_num_idx IS
|
||
'on-demand cadastre fetch lookups (#93). Used by find_active_on_demand_job '
|
||
'и find_recent_completed_job в cadastre_fetch service.';
|
||
|
||
COMMENT ON INDEX nspd_geo_jobs_source_status_idx IS
|
||
'Filter source_kind=auto_on_demand + status (#93). Composite чтобы '
|
||
'покрыть оба predicate сразу.';
|