Megan's Law · панель
session ожидание
—

Шаг 1 · Сбор списка id и точек карты

Прогон Scrapy с ids_only: DoLocationSearch (маркеры с координатами) + GetSortedOffenders (полный список id). Результат — offender_ids_<slug>.json. Число записей определяется автоматически — ручной ввод не нужен. Ежедневная сверка — на вкладке «Сверка».

Записей в округе: —

Авто-сбор offender_ids по округам

Последовательный сбор offender_ids с автоматическим переключением округов. TotalOffenders не нужен (плато-детекция). При требовании captcha сбор остановится.

Авто-сбор не запущен.

Шаг 2 · Управление загрузкой профилей

Пауза — SIGINT текущему Scrapy. «Синхронизировать» вливает архивные выгрузки в канонический файл и выставляет slice_start. «Синхр. и продолжить (авто)» — авто-батчи и переход к следующим округам от выбранного (как авто-сбор id).

Статистика (—)

Каталог id (Display List API)
—
Postable на сайте (справочно)
—
Маркеры на карте
—
Профили скачаны
—
Текущий батч (позиции в каталоге)
—
Файл профилей
—
Фото (в записи / на диске)
—
Карта: точные / ZIP / query
—

Сверка не запускалась
Выберите округ и нажмите «Запустить сверку».

Ежедневная сверка (—)

Повторный сбор списка с сайта и сравнение с локальным каталогом. Обновляет поля в offenders_*.json (адрес, координаты, статус) и пишет отчёт в run_report_sync_<slug>.json. Привязка по stable_key / photo_site_id.

При тормозах сайта включайте «медленный сайт»: delay ≥12 c, timeout 180 c, больше повторов. Сверка округа Alameda может занять 25–40 минут.

Авто-сверка по округам

Последовательная ежедневная сверка с автоматическим переключением округов (как «Авто-сбор offender_ids» на вкладке «Сбор»). Нужен локальный offender_ids.

Авто-сверка не запущена.

Ежедневное автообновление (сверка → детали → БД)

Для каждого округа подряд: 1) сверка каталога с сайтом, 2) докачка новых и изменённых профилей (детали), 3) заливка округа в БД — и только потом переход к следующему округу. Так каждый округ полностью «закрывается» перед переходом к следующему — надёжнее и удобнее для ежедневного запуска одной кнопкой, чем делать три отдельных долгих прохода по всем округам. Совпадения алертов не шлются сразу: они копятся в очереди и уходят в время со вкладки «Пуши» (по умолчанию 08:00 по Калифорнии).

Автообновление не запущено.

Отчёт сверки

—

Нет отчёта. Запустите сверку или выберите округ с уже выполненной сверкой.

Детальная информация после сверки

Сверка обновляет поля из списка/карты напрямую и безопасно. Детальная информация (модалка: DOB, правонарушения, фото) тянется отдельно.

Новых / без профиля
—
С изменившимися данными (из сверки)
—
Последняя сверка
—

Локальные профили (—)

Карта проверки (—)

Скачан профиль Только в каталоге In violation SVP

Обзор данных (—)

Каталог id
—
Профилей всего / с данными
—
Фото на диске
—
Каталог округа
—

Файлы

Очистка данных

Перед очисткой остановите воркер (Стоп) на вкладке «Сбор».

Удаляет offenders_<slug>.json и каталог photos/. Список id и slice_start сохраняются.


Полностью удаляет каталог id, профили, фото, отчёты и прогресс батча для округа. Действие необратимо.


Полная очистка сервера

Удаляет все данные всех округов, прогресс, настройки, лог, сессию и записи в базе. Для чистого тестового прогона.

Отчёты прогонов

—

Как опубликовать данные в базе

  1. Сверка — вкладка «Сверка» → «Запустить сверку» (обновляет списки и поля из карты).
  2. Детали — «Догрузить новые/без профиля» (модалки с фото и правонарушениями).
  3. База данных — вернитесь сюда:
    • первый раз → «Залить все» (галочка «с фото»);
    • после сверки/догрузки → «Обновить изменённые (все)» или кнопка «Обновить» у округа.
  4. Проверка — «Проверить» у округа; статус в таблице ниже.
  5. Тест — вкладка «Приложение» показывает данные из API (PostgreSQL).

Подключение (—)

Статус
—
Backend
—
База / проект
—
Дополнительно
—

Округа в базе

История обновлений

—

Поиск по реестру (API)

—
Задайте фильтры и нажмите «Найти».

Карта

—

Время рассылки пушей

После автообновления (сверка → детали → БД) совпадения name/ZIP-алертов складываются в очередь и не отправляются сразу. Рассылка идёт в указанное время по часовому поясу Калифорнии (America/Los_Angeles, PDT/PST), когда людям удобно смотреть уведомления. Если прогон ещё идёт в этот час — очередь уйдёт сразу после его окончания.

—

Сейчас в Калифорнии
—
Следующая рассылка
—
В очереди
—
Firebase
—
Последняя рассылка
—

Рассылка всем пользователям

Немедленный пуш всем профилям, у которых есть FCM-токен (не очередь алертов). Сейчас получателей: —.

Очередь на отправку

Пары профиль + offender, которые уйдут в выбранное время. Dedup 24 часа учитывается при постановке в очередь.

Нет ожидающих пушей.

Сессия сайта

Из DevTools → Network → запрос OpenOffenderModal → Request Headers.

session.json: …

После сохранения текущий прогон останавливается — запустите Старт снова.

Тайминги и параметры Scrapy

Выбранный округ и настройки хранятся в control_ui/data/settings.json.

Лог