gendesign/tradein-mvp/backend/data/sql/005_geocode_tracking.sql
TradeIn Deploy 609744df91 fix(tradein): чанковый геокодинг — cron больше не таймаутится (#1)
geocode_tried_at: после каждой попытки NOW(), повтор только через 7 дней.
Эндпоинт чанкуется (limit=100), отдаёт remaining. cron вызывает в цикле.
2026-05-21 19:43:12 +03:00

18 lines
1.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- Trade-In MVP — отслеживание попыток геокодинга.
--
-- Проблема: geocode-missing раньше выбирал ВСЕ строки с lat IS NULL. Адреса,
-- которые Nominatim не может распознать (~12%), выбирались на каждом прогоне
-- → бесконечный ретрай + cron-таймаут.
--
-- Решение: колонка geocode_tried_at. После КАЖДОЙ попытки (успех или провал)
-- ставим NOW(). geocode-missing выбирает только не-пробованные ИЛИ
-- пробованные >7 дней назад. Failed-адреса ретраятся раз в неделю, не каждый cron.
--
-- Идемпотентно (ADD COLUMN IF NOT EXISTS) — безопасно при каждом деплое.
ALTER TABLE listings ADD COLUMN IF NOT EXISTS geocode_tried_at timestamptz;
-- Частичный индекс: ускоряет выборку «что ещё геокодить».
CREATE INDEX IF NOT EXISTS listings_geocode_pending_idx
ON listings (geocode_tried_at NULLS FIRST)
WHERE lat IS NULL;