Регулярный сбор по Москве и области (#3541)
All checks were successful
Deploy Trade-In / changes (push) Successful in 14s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-browser (push) Has been skipped
Deploy Trade-In / test (push) Successful in 4m13s
Deploy Trade-In / build-backend (push) Successful in 44s
Deploy Trade-In / deploy (push) Successful in 1m16s
Deploy Trade-In / deploy-status (push) Successful in 1s
Deploy Trade-In / perimeter-smoke (push) Successful in 1m41s
All checks were successful
Deploy Trade-In / changes (push) Successful in 14s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-browser (push) Has been skipped
Deploy Trade-In / test (push) Successful in 4m13s
Deploy Trade-In / build-backend (push) Successful in 44s
Deploy Trade-In / deploy (push) Successful in 1m16s
Deploy Trade-In / deploy-status (push) Successful in 1s
Deploy Trade-In / perimeter-smoke (push) Successful in 1m41s
This commit is contained in:
parent
1c039b358c
commit
ad239db034
1 changed files with 77 additions and 0 deletions
|
|
@ -0,0 +1,77 @@
|
|||
-- 305_scrape_schedules_seed_msk_city_sweeps.sql
|
||||
-- Регулярный сбор объявлений по Москве (77) и Московской области (50).
|
||||
--
|
||||
-- Apply after: 304_asking_to_sold_ratios_region.sql
|
||||
--
|
||||
-- WHY:
|
||||
-- Корпус 77/50 живёт разовой загрузкой: всё, что есть, собрано 10-12.09.2026.
|
||||
-- При LISTINGS_FRESH_DAYS = 14 свежих объявлений не останется с 26-27.09, после
|
||||
-- чего оценка по этим регионам деградирует до релаксированного тира, а
|
||||
-- asking->sold ratio перестанет переписываться. Регулярного сбора для 77/50 в
|
||||
-- расписании не было ни одной строки: код якорей, гео-профилей и региональной
|
||||
-- параметризации слит (#3533), но не включён.
|
||||
--
|
||||
-- Слаги "moskva" / "moskovskaya_oblast" уже заведены в CITY_ANCHORS
|
||||
-- (pipeline.py): 25 якорей сетки 5x5 по Москве и 44 по области (22 городских +
|
||||
-- 22 кластерных по массе объявлений). Wildcard-хендлеры "*_city_sweep_*"
|
||||
-- резолвят эти source'ы на те же джобы, что и ЕКБ.
|
||||
--
|
||||
-- radius_m задан ЯВНО и равен тому, на котором мерили покрытие сетки: 8000 м по
|
||||
-- Москве, 10000 м по области (MOSCOW_ANCHOR_RADIUS_M / MOSCOW_OBLAST_ANCHOR_
|
||||
-- RADIUS_M). Дефолт джобы — 1500 м; оставить его значило бы обрушить покрытие,
|
||||
-- ради которого якоря и подбирались (замер: 73.8% -> 95.2% массы лотов области).
|
||||
--
|
||||
-- newbuilding_only=false у cian — дефолт джобы true, а корпус нужен вторичный.
|
||||
-- Тот же ключ стоит во всех oblast-строках миграции 179.
|
||||
--
|
||||
-- ВКЛЮЧЕНЫ СРАЗУ (enabled=true), в отличие от seed-строк 289/302, где включение
|
||||
-- оставляли отдельным решением. Причина названа выше: без сбора корпус истекает
|
||||
-- 26-27.09, а регионы отдаются тестировщикам. Решение принято явно 16.09.2026.
|
||||
--
|
||||
-- DomClick (≈23% корпуса обоих регионов) здесь НЕ заводится: у него нет
|
||||
-- wildcard-хендлера ("domclick_city_sweep_*" отсутствует в _default_kit_handlers),
|
||||
-- а единственная возможная строка source='domclick_city_sweep' занята
|
||||
-- Екатеринбургом. Нужна правка кода — отдельной задачей.
|
||||
--
|
||||
-- Окна 16-23 UTC выбраны как наименее занятые (по одной строке на час против
|
||||
-- 5-7 в ночных окнах); прогоны всё равно сериализуются планировщиком, а
|
||||
-- трёхчасовое окно даёт запас на overrun предшественника.
|
||||
--
|
||||
-- Оценка нагрузки на такт: Москва avito 25x3 страниц при 7 с ≈ 9 мин, cian при
|
||||
-- 5 с ≈ 6 мин, yandex при 9 с ≈ 11 мин; область (44 якоря) ≈ 15 / 11 / 20 мин.
|
||||
-- Суммарно ≈ 72 мин раз в 3 суток.
|
||||
--
|
||||
-- ИДЕМПОТЕНТНОСТЬ: ON CONFLICT (source) DO NOTHING — повторный прогон no-op и не
|
||||
-- сбрасывает enabled, если строку потом выключили вручную.
|
||||
|
||||
BEGIN;
|
||||
|
||||
SET LOCAL lock_timeout = '5s';
|
||||
|
||||
INSERT INTO scrape_schedules (source, enabled, window_start_hour, window_end_hour, default_params)
|
||||
VALUES
|
||||
('avito_city_sweep_moskva', true, 16, 19,
|
||||
'{"city": "moskva", "region_code": 77, "radius_m": 8000, "pages_per_anchor": 3,
|
||||
"detail_top_n": 0, "enrich_houses": true, "interval_days": 3,
|
||||
"request_delay_sec": 7}'::jsonb),
|
||||
('cian_city_sweep_moskva', true, 17, 20,
|
||||
'{"city": "moskva", "region_code": 77, "radius_m": 8000, "pages_per_anchor": 3,
|
||||
"detail_top_n": 10, "enrich_houses": true, "interval_days": 3,
|
||||
"newbuilding_only": false, "request_delay_sec": 5}'::jsonb),
|
||||
('yandex_city_sweep_moskva', true, 18, 21,
|
||||
'{"city": "moskva", "region_code": 77, "radius_m": 8000, "pages_per_anchor": 3,
|
||||
"interval_days": 3, "request_delay_sec": 9}'::jsonb),
|
||||
('avito_city_sweep_moskovskaya_oblast', true, 19, 22,
|
||||
'{"city": "moskovskaya_oblast", "region_code": 50, "radius_m": 10000,
|
||||
"pages_per_anchor": 3, "detail_top_n": 0, "enrich_houses": true,
|
||||
"interval_days": 3, "request_delay_sec": 7}'::jsonb),
|
||||
('cian_city_sweep_moskovskaya_oblast', true, 20, 23,
|
||||
'{"city": "moskovskaya_oblast", "region_code": 50, "radius_m": 10000,
|
||||
"pages_per_anchor": 3, "detail_top_n": 10, "enrich_houses": true,
|
||||
"interval_days": 3, "newbuilding_only": false, "request_delay_sec": 5}'::jsonb),
|
||||
('yandex_city_sweep_moskovskaya_oblast', true, 21, 23,
|
||||
'{"city": "moskovskaya_oblast", "region_code": 50, "radius_m": 10000,
|
||||
"pages_per_anchor": 3, "interval_days": 3, "request_delay_sec": 9}'::jsonb)
|
||||
ON CONFLICT (source) DO NOTHING;
|
||||
|
||||
COMMIT;
|
||||
Loading…
Add table
Reference in a new issue