Документация

Расписание (cron)

Запуск pipeline через регулярные интервалы — ежедневно, еженедельно или по произвольному cron-выражению.

Расписание (cron)

Канал расписания запускает pipeline согласно заданному календарю. Это эквивалент cron, но управляемый из панели администрирования и логируемый, как любой другой exchange.

Зачем этот канал

Не все pipeline являются реактивными (на письмо, звонок, webhook). Многие из них проактивны: ежедневный отчёт, еженедельное напоминание, ежечасная проверка внешней системы. Именно это покрывает канал расписания.

Конфигурация

  1. Администрирование → Расписание → Новая задача.
  2. Выберите:
    • Целевой pipeline
    • Календарь — постройте его визуально с помощью CronBuilder (ежедневно, еженедельно, дни и часы), или введите классическое cron-выражение (0 8 * * 1-5 = 8:00 по будням), или ярлык (@daily, @hourly). Знание синтаксиса cron не требуется.
    • Часовой пояс — по умолчанию часовой пояс организации. Настраивается для каждой задачи.
    • Цель — свободная метка (например, briefing_hebdo, alerte_impayes), передаваемая в pipeline для его маршрутизации.
    • Статическая полезная нагрузка — произвольный JSON, передаваемый на вход pipeline.

Один pipeline, несколько целей. Один и тот же pipeline может запускаться несколькими запланированными задачами, каждая со своей objectif. Условия (filter) в начале pipeline затем направляют выполнение согласно полученной цели — например, еженедельный брифинг по понедельникам и ежедневное оповещение в одном шаблоне (см. CFO IA).

Что получает pipeline

При каждом срабатывании создаётся exchange со следующими данными:

  • schedule.task_id — идентификатор запланированной задачи
  • schedule.objectif — настроенная метка цели (для маршрутизации нескольких задач)
  • schedule.scheduled_at — запланированная временна́я метка
  • schedule.actual_at — фактическая временна́я метка (в случае дрейфа)
  • schedule.payload — настроенный статический JSON (если присутствует)

Допуск и наверстывание

Если betool недоступен в момент срабатывания (обслуживание, инцидент), задача наверстывается автоматически при перезапуске, в пределах настраиваемого вами окна допуска (по умолчанию 1 час).

За пределами окна срабатывание помечается как пропущенное в истории и не воспроизводится повторно — отсутствующий отчёт лучше запоздалого и рассинхронизированного.

Типовые сценарии использования

  • Ежедневный отчёт в 8:00 — агент, который опрашивает несколько систем, составляет сводку и отправляет краткий отчёт по email.
  • Ежечасная синхронизация — pipeline, который извлекает новые элементы из внешней системы, передаёт их агенту-классификатору и заносит результаты в вашу CRM.
  • Еженедельная проверка — агент, который проверяет состояние инфраструктуры и отмечает расхождения.
  • Напоминание Д+7 — по лидам, отправленным неделю назад и всё ещё оставшимся без ответа.

Рекомендуемые практики

  • Избегайте запусков ровно в начале минуты — многие системы срабатывают в 0 * * * *. Предпочитайте 7 * * * *, чтобы распределить нагрузку.
  • Логируйте задачи, которым нечего делать. Задача, которая выполняется, но ничего не делает (потому что нет элементов для обработки), должна явно это фиксировать. Иначе вы не сможете отличить «всё хорошо» от «задача больше не запускается».
  • Настройте оповещения о пропущенных задачах. См. Кредиты и учёт → Оповещения.