Root cause: 7674 avito/yandex/n1 listings з null-geom мають ненульовий address, але geocode_tried_at IS NULL — OS cron геокодує тільки deals, ніколи listings. Parts: - geocode_missing.py: WHERE додає geocode_tried_at IS NULL OR tried_at < 7d (loop-safe); при failure (geo=None / exception) позначаємо tried_at=NOW(). Новий run_geocode_missing_listings: batch loop з wall-clock budget (30m), update_heartbeat / mark_done / mark_failed lifecycle через scrape_runs. - scheduler.py: trigger_geocode_missing_listings_run + dispatch elif. - migration 110: seed scrape_schedules row (enabled=true, window 06-09 UTC). - tests: оновлено 2 тести (commit на tried_at UPDATE); +7 нових тестів. 1794 passed. |
||
|---|---|---|
| .. | ||
| sql | ||