41 lines
1.6 KiB
PL/PgSQL
41 lines
1.6 KiB
PL/PgSQL
-- 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;
|