-- 123_avito_newbuilding_sweep_schedule.sql -- Seed row для Avito newbuilding (novostroyka) citywide sweep. -- -- Avito отдаёт dedicated novostroyka-filtered SERP (slug -- novostroyka-ASgBAgICAkSSA8YQ5geOUg) — 100% new-build карточки с маркером -- застройщика (listing_segment='novostroyki', newbuilding_id заполнен парсером). -- Текущий general sweep ловит новостройки лишь инцидентно (~20 строк); этот -- dedicated обход даёт сотни. Citywide (без anchor/geo), save через стандартный путь. -- -- default_params: -- pages — макс. число страниц SERP за прогон. -- request_delay_sec — пауза между страницами (anti-block). -- -- next_run_at = завтра 02:00 UTC — чтобы НЕ выстрелить мгновенно на деплое (enabled -- row с NULL next_run_at трактуется due немедленно); первый прогон в окне 02:00-05:00. -- -- ЗАВИСИМОСТИ: 052_scrape_schedules.sql (таблица + UNIQUE(source)). -- Idempotent: ON CONFLICT (source) DO NOTHING — безопасно запускать повторно. BEGIN; INSERT INTO scrape_schedules ( source, enabled, window_start_hour, window_end_hour, next_run_at, default_params ) VALUES ( 'avito_newbuilding_sweep', true, 2, 5, ((CURRENT_DATE + INTERVAL '1 day') + make_interval(hours => 2)) AT TIME ZONE 'UTC', '{"pages": 20, "request_delay_sec": 8}'::jsonb ) ON CONFLICT (source) DO NOTHING; COMMIT;