Podbor

Как работает

Краткая инструкция и ответы на частые вопросы

Как устроен поток

  1. Источник — сайт или API (Habr, HH, Работа России…). При подключении берётся «последняя страница» поиска и фиксируется точка отсчёта. Старые вакансии в архив не пишутся.
  2. Сбор 2–4 раза в сутки (и кнопка «Проверить новые») — забирает только то, что новее точки отсчёта. Ещё действует фильтр топ-позиций (C-level / директор / крупный руководитель).
  3. Архив на странице «Вакансии» — единый поток новых топ-вакансий. Для парсера не важно, под клиента это или под Telegram: один поток.
  4. Позиция (Подбор) — что ищем для клиента. Из полей собирается опрос. Кнопка «Запустить опрос» ставит scrape по каждому включённому источнику с фильтрами позиции. Расписание источников по-прежнему ходит своим query.
  5. Подборка — матчинг уже спарсенных вакансий по полям позиции (без резюме). Не запускает новый парсинг.

Разделы админки

Источники
Список лент, добавление и правка. Для Telegram — каналы через запятую и ключевые слова. «Проверить новые» ставит задачу в очередь.
Вакансии
Архив после фильтра топа. Можно сузить по источнику и топ/не топ.
Подбор
Позиции клиента, форма с доступными фильтрами, опрос по источникам, shortlist.
Задачи
Очередь парсинга: baseline / scrape, сколько найдено и сколько сохранено.

Позиция и опрос — зачем два слоя

Поля позиции (должность, город, ЗП…) описывают намерение. Опрос — список конкретных источников с уже применёнными фильтрами (например Habr: role=директор). Источник попадает в опрос, только если объявил поддержку нужного фильтра. Уровень C-level в опрос не уходит: он остаётся общим фильтром после загрузки.

На форме «Новая позиция» под каждым полем видно, какие подключённые источники его принимают. «Собрать опрос» → можно поправить значения или снять источник → «Создать позицию». По клику на позицию опрос открывается снова.

Частые вопросы

Почему после «Проверить новые» в архиве 0 или мало вакансий?

В архив попадают только вакансии новее точки отсчёта и прошедшие фильтр топа. Если с последнего сбора ничего нового не вышло — saved=0 это нормально. Смотрите «Задачи»: found — сколько парсер увидел, saved — сколько реально записали.

Что значит статус «Молчит»?

Несколько пустых сборов подряд (нет новых топ-вакансий или лента пустая). Источник не отключён — его стоит проверить вручную или посмотреть ошибку в таблице.

Позиция влияет на то, что парсится?

Да, если нажать «Запустить опрос»: каждый включённый источник опрашивается с фильтрами позиции (например role=Коммерческий директор). Расписание и кнопка «Проверить новые» на странице источников по-прежнему используют query самого источника. HH / Telegram / LinkedIn из опроса пока не запускаем.

Чем «Подборка» отличается от сбора?

«Подборка» только ранжирует уже лежащие в архиве вакансии по полям позиции. Новый парсинг не запускает.

Почему в форме позиция видит «город», а в опросе его нет?

Город остаётся для матчинга. В опрос попадают только ключи, которые текущие подключённые источники умеют (сейчас у Habr / Работа России / RemoteOK в основном должность). Когда подключим HH — появятся город, ЗП и др.

Забирается ли вся история сайта?

Нет. При добавлении источника фиксируется точка отсчёта; дальше только newer. Полный бэкап истории в договор не входит.

Сколько источников можно?

До 20, включая Telegram. В шапке видно текущее число, например 3/20.

Где смотреть, что парсер реально вернул?

«Задачи» — статус и счётчики. «Вакансии» — то, что прошло фильтры. Если нужно сырой ответ адаптера без записи в БД — это уже debug API парсера (для разработки).

Что делать, если источник сломался?

Смена вёрстки/API — не гарантийный дефект продукта (см. ТЗ). В админке будет ошибка у источника и failed-задача. Дальше — починка адаптера или замена источника.

Быстрая проверка

  1. Откройте Источники — статусы Active, есть точка отсчёта.
  2. Нажмите «Проверить новые» у одного источника → на Задачи статус «Готово».
  3. Откройте Вакансии — список (может не вырасти, если новинок нет).
  4. На Подбор создайте позицию или откройте существующую — посмотрите опрос.
  5. Нажмите «Подборка» — shortlist по архиву.