Автозапуск воронок и процессоров
Платформа умеет работать без участия пользователя: воронку можно запускать по расписанию, а отдельные процессоры — переводить в режим «Авто», чтобы они сами дочитывали накопившиеся данные и тянули за собой следующие шаги цепочки. Эти два механизма независимы, но сочетаются: расписание даёт точку входа, а режим «Авто» обеспечивает каскад до конца воронки.
Два механизма автозапуска
Заголовок раздела «Два механизма автозапуска»В системе есть два самостоятельных инструмента:
- Расписание автозапуска воронки — запускает корневые процессоры воронки в заданные дни и время. Работает на уровне всей воронки.
- Режим запуска «Авто» у процессора — настраивается у каждого процессора отдельно. После окончания запуска процессор сам перезапускается, пока есть необработанные пакеты, и после этого передаёт эстафету downstream-процессорам, которые тоже находятся в режиме «Авто».
Их можно использовать по отдельности или вместе. Связка «расписание + Авто-цепочка» превращает воронку в полностью автономный конвейер: достаточно один раз настроить, и она будет регулярно собирать данные, обогащать, фильтровать и обновлять CRM без ручных нажатий.
Расписание автозапуска воронки
Заголовок раздела «Расписание автозапуска воронки»Расписание настраивается через кнопку открытия диалога «Расписание автозапуска» на странице воронки. В диалоге доступны следующие поля:
- «Расписание включено» — общий тумблер. При выключении расписание сохраняется, но не срабатывает.
- «Дни недели» — выбираются галочками: Пн, Вт, Ср, Чт, Пт, Сб, Вс. Можно отметить любую комбинацию.
- «Время первого запуска» — формат HH:MM. Это момент, когда воронка запустится в первый раз в выбранный день.
- «Повторять в течение дня» — опциональный тумблер. Если выключен, воронка стартует один раз в день в указанное время. Если включён, появляется поле:
- «Каждые N минут» — интервал повторных запусков в течение дня после первого.
- «Часовой пояс» — смещение от московского времени (MSK = UTC+3). По умолчанию совпадает с MSK; для других регионов задаётся в часах.
После сохранения настроек система рассчитывает ближайший момент срабатывания и хранит его в воронке. Планировщик проверяет это значение раз в минуту: если оно наступило — расписание срабатывает, и сразу после этого вычисляется следующая точка запуска.
Что запускается при срабатывании
Заголовок раздела «Что запускается при срабатывании»Расписание стартует только корневые процессоры воронки — те, у которых нет входящих соединений (как правило, это процессоры-источники: поиск в Яндексе, загрузка из файла, поиск в реестрах и т.п.). Что произойдёт дальше — зависит от режима запуска у этих процессоров: «Ручной» отработает один цикл и остановится, «Авто» запустит дальнейший каскад (см. ниже).
Условие пропуска тика
Заголовок раздела «Условие пропуска тика»Если в момент срабатывания в воронке уже выполняется хоть один процессор, тик пропускается, и воронка ждёт следующего слота. Это страховка от наложения параллельных запусков: один полный прогон не должен стартовать поверх ещё не закончившегося.
Режим запуска «Авто» у процессора
Заголовок раздела «Режим запуска «Авто» у процессора»Режим запуска настраивается в редакторе процессора, в общих настройках. Поле называется «Режим запуска» и принимает два значения:
- «Ручной» — процессор запускается только по явной команде пользователя или после завершения предыдущего процессора, если пользователь запустил всю воронку целиком.
- «Авто» — процессор работает автономно (подробно ниже).
Процессоры в режиме «Авто» помечены на холсте редактора иконкой молнии в правом верхнем углу узла — удобно для быстрого визуального аудита воронки.
Как работает «Авто»: самоповтор
Заголовок раздела «Как работает «Авто»: самоповтор»Когда процессор в режиме «Авто» завершает свой запуск и при этом успешно обработал хотя бы один пакет, система автоматически ставит его в очередь повторно. Цикл повторяется до тех пор, пока:
- очередь необработанных пакетов на входе не опустеет (один из запусков обработает 0 пакетов), или
- не будет достигнут лимит в 20 итераций подряд.
Лимит итераций нужен как защита от бесконечного цикла на случай, если процессор постоянно генерирует новые пакеты для самого себя или какого-то предка по цепочке.
Как работает «Авто»: каскад вниз
Заголовок раздела «Как работает «Авто»: каскад вниз»Когда самоповтор закончился (пакеты кончились или лимит исчерпан), процессор смотрит на свои downstream-связи — то есть на процессоры, которые подключены ко его выходу. Из них он автоматически запускает только тех, кто тоже находится в режиме «Авто», и делает это последовательно. Каждый из запущенных downstream-процессоров, в свою очередь, повторит этот цикл: самоповтор → каскад дальше.
Процессоры в режиме «Ручной» в каскаде участия не принимают — они ждут команды от пользователя.
Остановки и ошибки
Заголовок раздела «Остановки и ошибки»- Ошибка текущего процессора — если процессор завершился с ошибкой, ни самоповтор, ни каскад вниз не выполняются. Цепочка останавливается на этом узле, и пользователь видит ошибку в журнале запусков.
- Ошибка downstream-процессора — если упал один из downstream-процессоров каскада, остальные всё равно запускаются. Один сломанный лист дерева не валит всё дерево.
- Отмена — ручная остановка процессора прерывает цикл самоповтора и каскад дальше не идёт.
Как два механизма работают вместе
Заголовок раздела «Как два механизма работают вместе»Связка получается такая:
Расписание срабатывает в 09:00 (Пн-Пт) ↓Корневые процессоры запускаются (search, file-upload, ...) ↓Корневые в «Авто»: самоповтор до пустой очереди ↓Каскад вниз: запускаются downstream «Авто» (enrichment, gptFilter, crmUpdate, ...) ↓Каждый из них: самоповтор → каскад дальше ↓Когда все «Авто»-узлы дошли до пустой очереди — воронка остановиласьЕсли все процессоры в воронке в режиме «Авто», то расписание один раз в день фактически прогоняет всю воронку от источника до выгрузки в CRM. Если часть процессоров в «Ручном» — расписание прогонит автоматическую часть, а остальное останется на ручное подтверждение оператора.
Сценарии использования
Заголовок раздела «Сценарии использования»Утренняя лидогенерация. Воронка из «поиск → обогащение → GPT-фильтр → CRM», все процессоры в «Авто», расписание — Пн–Пт в 09:00 без повторов. Каждое утро менеджеры приходят к свежей пачке отфильтрованных лидов.
Постоянный мониторинг. Источник постоянно подбрасывает новые данные (например, мониторинг вакансий на HeadHunter). Расписание — каждый день, повторять каждые 30 минут. Корневой процессор и вся последующая цепочка в «Авто» — воронка реагирует на новые поступления почти в реальном времени.
Еженедельная верификация. Воронка-«пылесос», которая раз в неделю проходит по существующим контактам и проверяет их валидность. Расписание — Сб в 03:00, без повторов.
Гибрид авто и ручной фильтрации. Часть воронки до GPT-фильтра — в «Авто», расписание включено. GPT-фильтр и обновление CRM — в «Ручном». Каждое утро автоматика подгоняет свежий поток на стол к менеджеру, а решение «передать ли в CRM» он принимает сам.
Ограничения и нюансы
Заголовок раздела «Ограничения и нюансы»- 20 итераций самоповтора — если у процессора действительно настолько большая очередь, что 20 запусков не хватает, придётся либо разнести её на несколько тиков расписания, либо запустить ещё раз вручную.
- Минутная гранулярность расписания — расписание срабатывает с точностью до минуты; «каждые 30 секунд» поставить нельзя.
- Параллелизм запусков ограничен — одновременных запусков процессоров может быть не больше, чем разрешает общий лимит платформы (по умолчанию 5). Если воронка очень широкая и все ветки в «Авто», часть запусков встанет в очередь.
- Стоимость в токенах — автоматизация не делает запуски бесплатнее. Каждый прогон тратит токены по своим тарифам. Перед тем как ставить «каждые 5 минут», прикиньте стоимость одного полного прогона по учёту токенов и умножьте на число запусков в день.
Рекомендации
Заголовок раздела «Рекомендации»- «Авто» имеет смысл там, где поток данных постоянен. Если процессор раз в неделю обрабатывает 50 пакетов, ему хватит и «Ручного».
- Фильтруйте раньше каскада. Если в воронке стоит GPT-фильтр, поставьте его как можно ближе к источнику, чтобы дорогие процессоры дальше по цепочке обрабатывали только релевантное.
- Сначала прогон вручную, потом расписание. Прежде чем включать расписание, прогоните воронку один раз вручную — убедитесь, что цепочка отрабатывает без ошибок и стоимость прогона предсказуема.
- Не комбинируйте «Авто» с зацикленными источниками. Если процессор-источник постоянно генерирует новые пакеты (например, бесконечно опрашивает внешний API), без явных условий останова он может упереться в лимит 20 итераций каждый запуск и быстро исчерпать токены.
- Аудитируйте холст по молниям. Перед включением расписания пройдите глазами по узлам и проверьте, что иконки «Авто» стоят ровно там, где вы их ожидаете — лишний «Авто»-узел в неправильной ветке может удивить ночным счётом.