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

Запуск процессов

Четыре способа запустить workflow: вручную, по расписанию, входящим HTTP-запросом и событием из мессенджера.

Процесс можно запустить вручную из редактора, а можно отдать под автоматический запуск. Автоматический запуск устроен не отдельной настройкой, а компонентом: триггер ставится на холст как обычный узел и становится началом цепочки.

Отсюда важное следствие: триггер работает только у опубликованного процесса. Пока процесс не опубликован или опубликован в устаревшей версии, расписание и вебхуки либо молчат, либо выполняют прежнюю схему — см. Публикацию.

Вручную

Кнопка «Запустить» в редакторе выполняет черновик — то, что сейчас на холсте. Триггер для этого не нужен.

Так проверяют правки. Помните, что у ручного запуска платформа не сохраняет полные данные шагов, поэтому продолжить его с выбранного узла не получится.

По расписанию

Компонент «Триггер по расписанию». У процесса может быть несколько расписаний сразу — например, по будням в 9 утра и дополнительно в последний день месяца.

Частота задаётся одним из шести способов:

ЧастотаЧто настраивается
Каждые N секундинтервал 1–59
Каждые N минутинтервал 1–59
Каждый часинтервал в часах и минута запуска
Каждый деньинтервал в днях, час и минута
Каждую неделюдни недели, час и минута
Каждый месяцдень месяца, час и минута
Cron-выражениепроизвольное расписание в синтаксисе cron

Отдельным полем выбирается часовой пояс, по умолчанию Москва. Время в расписании понимается в нём, а не в UTC, так что пересчитывать ничего не нужно — и при переходе на летнее время в тех поясах, где он есть, расписание не уедет.

Входящим запросом

Компонент «Вебхук» даёт процессу собственный адрес: внешняя система обращается по нему, и процесс запускается с переданными данными.

Настраивается метод (GET, POST, PUT, PATCH, DELETE, HEAD) и путь. Адрес, который нужно отдать внешней системе, показывает команда «Просмотреть триггеры» в меню кнопки публикации.

Защита адреса

Адрес вебхука доступен из интернета, поэтому у него есть четыре режима проверки вызывающего:

  • Нет — принимается любой запрос. Годится только для проверки на время настройки;
  • Базовая авторизация — логин и пароль;
  • Авторизация в заголовке — имя и значение заголовка, которые должен прислать вызывающий;
  • HMAC-подпись — вызывающий подписывает тело запроса общим секретом, платформа проверяет подпись. Настраивается секрет, имя заголовка с подписью (по умолчанию x-signature) и алгоритм: SHA-256, SHA-1 или SHA-512.

Подпись — самый надёжный вариант: перехваченный заголовок нельзя переиспользовать с другим телом запроса.

Что вернётся вызывающему

Поле «Ответить» решает, когда платформа отдаёт ответ:

  • Сразу же — как только запрос принят, не дожидаясь конца обработки. Так отвечают внешним системам, которым важна скорость и не важен результат;
  • Когда последний узел завершит работу — после выполнения всего процесса;
  • По выходу Respond to Webhook — ответ формирует отдельный компонент «Ответ на вебхук», поставленный в нужном месте цепочки.

Третий вариант нужен, когда ответ должен содержать результат работы: компонент умеет вернуть JSON, текст, файл, JWT или перенаправление, а также задать код ответа.

Событием из мессенджера

Два компонента слушают внешние сервисы и запускают процесс на событии.

Телеграм Триггер срабатывает на сообщение, отредактированное сообщение, сообщение в канале, нажатие кнопки, встроенный запрос или ответ в опросе. Можно слушать всё сразу или выбрать типы событий.

Битрикс24 Триггер срабатывает на новое сообщение, добавление бота в чат, команду боту или удаление бота.

Обоим нужны учётные данные — токен бота. Как их завести, описано в разделе Подключения и учётные данные.

Из другого процесса

Компонент «Выполнить процесс» вызывает другой workflow как шаг. Так выносят общую часть в отдельный процесс и переиспользуют её, вместо того чтобы копировать цепочку узлов.

Вызванный процесс выполняется как фоновый, поэтому его запуск попадает в ленту запусков отдельной строкой.

Через API

Опубликованный процесс можно вызвать из своего кода HTTP-запросом. Это описано отдельно: Запуск workflow через API.

Полезна ли страница?

На этой странице