Запуск скрипта
8 800 555-89-02
Войти
Документация
CTRL+K
Standalone2502
SaaS

Запуск скрипта

В этой статье

Чтобы запустить скрипт, после его публикации в правом верхнем углу нажмите Активировать.

Запуск скрипта

Запустить можно только тот скрипт, у которого настроен триггер Планировщик, Ручной запуск, Новое событие из пакета Вебхук, Новое событие из пакета Обработка событий Новые события или Системные события из пакета Трекер.

Когда скрипт запускается, в верхнем правом углу появляется статус Выполняется с датой и временем запуска.

Выполняется

При нажатии кнопки Отключить статус меняется на Выполнение останавливается.

Выполнение останавливается

После завершения выполнения статус меняется на Последнее выполнение с датой и временем последнего запуска.

Последнее выполнение

Запустить и остановить скрипт можно также из Панели управления в пространстве. Для этого кликните правой кнопкой мыши по карточке скрипта в пространстве и выберите Активировать или Отключить в контекстном меню.

Скрипты с любыми триггерами, кроме Ручного запуска, будут активированы, скрипты с Ручным запуском выполнятся один раз.

Запуск и остановка скрипта в Панели управления

Планировщик

Расписание выполнения скрипта задается через блок Планировщик. Этот блок может быть выбран только в начале скрипта. Выберите вариант расписания в настройках блока:

  • По минутам (по умолчанию 15 минут)
  • По дням недели (нужно выбрать дни недели, часы и минуты)
  • По датам (нужно выбрать месяцы, дни, часы, минуты)
  • По CRON расписанию (система для автоматического запуска задач в определенное время)

Окончательная настройка планировщика отображается в поле Запускать скрипт.

Запуск скрипта по расписанию

В расширенных параметрах можно указать даты начала и окончания периода запуска скрипта.

Варианты расписания

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

О настройках планировщика смотрите в видеокурсе.

Расписание в формате CRON

Cron (Command Run On) — система, предназначенная задавать периодичность и время срабатывания задач планировщика.

В cron-выражениях используются символы:

  • * — любое значение, используемое в пределах одного фрагмента cron-выражения. Например, в поле «Минуты» означает, что скрипт будет запускаться каждую минуту
  • ? — неопределенное значение. Например, если необходимо, чтобы задача запускалась 10 числа каждого месяца, но не важно, в какой день недели, то в поле «День» установите значение «10», а в поле «День недели» — «?»
  • - — диапазон значений. Например, «10-12» в поле «Час» означает часы 10, 11 и 12
  • , — список значений. Например, значения «ПОНЕДЕЛЬНИК, СРЕДА, ПЯТНИЦА» в поле «День недели» означают, что скрипт будет запускаться в понедельник, среду и пятницу
  • / — шаг значения. Например, «5/15» в поле «Минуты» означает, что скрипт будет запускаться в 5, 20, 35 и т.д. минут. Значение «5» будет увеличиваться на «15»
  • L — последний день месяца. Например, в поле «День» значение «L» означает, что скрипт будет выполняться в последний день каждого месяца
  • W — ближайший будний день. Например, в поле «День» значение «15 W» означает ближайший будний день к 15-ому числу месяца. Если 15-е — суббота, то скрипт будет запущен в пятницу 14-го. Если 15-е — воскресенье, то — в понедельник 16-го
  • # — номер недели месяца. Например, выражение «6#3» означает, что скрипт будет запускаться в третью пятницу каждого месяца

В поле ввода значения подсвечивается разряд, рядом с которым стоит курсор.

Cron-выражения

Соотношение символов и диапазон значений для полей представлены в таблице ниже.

ПолеДопустимые значенияИспользуемые символы
Минуты0-59*,-/
Часы0-23*,-/
День1-31*,-/?LW
МесяцJAN-DEC или 1-12*,-/
День неделиSUN-SAT или 1-7*,-/?L#
Важно
  • CRON-выражение должно состоять из 5 значений
  • День или День недели должен быть ?
  • Символы L, W, # не могут быть использованы вместе с шагами значения (/), списками (,) или диапазонами (-)

Примеры cron-выражений

ВыражениеЗначение
*/15 * * * ?Каждые 15 минут
0 12 * * ?Каждый день в 12:00
15 10 ? * *Каждый день в 10:15
15 10 ? * MON-FRIВ 10:15 с понедельника по пятницу
15 10 L * ?В 10:15 последний день каждого месяца
15 10 ? * 6LВ 10:15 последнюю пятницу каждого месяца
15 10 ? * 6#3В 10:15, третью пятницу каждого месяца
11 11 11 11 ?В 11:11, 11 число, каждый ноябрь

Ручной запуск

Блок Ручной запуск моментально запускает скрипт по нажатию кнопки Активировать и отключается после его завершения. Выполнение скрипта происходит единоразово.

Ручной запуск скрипта

В блоке Ручной запуск есть возможность настроить ожидаемые поля, которые будут использоваться дальше в скрипте. В блоке можно задать любые значения, и они будут переданы в скрипт через визуальный маппинг. Желаемые значения заполняются вручную при запуске блока или скрипта с настроенным блоком Ручной запуск.

При добавлении ожидаемого поля в блок, укажите следующие параметры:

  • Название:
    • Название поля не может быть пустым, должно содержать буквы и быть уникальным в рамках этого блока. При стирании текста, использовании только цифр или при изменении названия на неуникальное в название поля вернется последний сохраненный текст
    • Автоматически задается имя поля Новое поле
  • Тип поля:
    • Текст
    • Число
    • Дата
    • Дата и время
  • Массив. Отметьте галочкой, чтобы обозначить массив
  • Обязательное поле:
    • Если переключатель находится в положении «включено», то при запуске блока или скрипта необходимо заполнить ожидаемое поле. Если переключатель находится в положении «выключено», возможен запуск блока или скрипта без указания значения поля. В таком случае в выходных данных отобразится значение null
Заметка

Если при запуске указанный тип поля не совпадет с фактическим типом данных, он будет автоматически конвертирован в целевой тип данных ClickHouse.

При запуске блок возвращает ожидаемые поля, если они были указаны, и start_time.

Вебхук

Блок-триггер Новое событие пакета Вебхук запускает скрипт при получении новых событий. Это позволяет системе мгновенно реагировать на изменения.

Настройка вебхука

Параметры блока Новое событие:

  • Адрес вебхука — URL, на который отправляются события
  • UUID — уникальный идентификатор вебхука (можно изменить)
  • Синхронный режим — переключатель между синхронным и асинхронным режимами работы

Новое событие

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

Заметка

При импорте и экспорте скрипта с блоком Новое событие будет сгенерирован новый адрес.

Для сбора данных с сайта и отслеживания пользовательского пути вы можете использовать JS-трекер. Если же сайт предоставляет данные через вебхуки, используйте для их получения блок Новое событие из пакета Вебхук. Этот блок предназначен для данных, которые поступают извне и требуют обработки. Например, если ваше приложение или сторонний сервис генерирует события, которые нужно обработать в системе, настройте блок для их приема. Для отправки данных на внешний ресурс используйте другой инструмент — блок Отправить запрос из пакета HTTP.

Вебхук может работать в синхронном или асинхронном режиме:

  • Синхронный режим — скрипт запускается сразу после получения данных, а таймер перезапускается на 5 минут с момента активации скрипта. Скрипт возвращает ответ сразу после выполнения
  • Асинхронный режим — повторный запуск скрипта возможен только по истечении заданного таймером времени. Ответ доступен по GraphQL-запросу, возвращаемые данные передаются в блок Вернуть данные

Интервал между запусками скрипта в любом режиме составляет 5 минут, и изменить этот временной параметр невозможно. Это сделано для предотвращения ошибок, когда данные из источника приходят часто и по одной записи, а скрипт без вебхука не успевает их обрабатывать, из-за чего возникают сбои. Вебхук устраняет это затруднение, аккумулируя данные за пять минут и выполняя их обработку одновременно.

Заметка

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

После публикации и активации скрипта вебхук готов принимать данные. При необходимости скрипт можно остановить, тогда вебхук прекратит сбор данных до тех пор, пока скрипт не будет снова активирован.

Работа вебхука в кластерном режиме

Кластеризация позволяет распределять нагрузку между несколькими приемщиками данных, что обеспечивает отказоустойчивость при выходе одного из них из строя и позволяет обрабатывать большой объем данных за счет распределения нагрузки между серверами.

Особенности работы вебхука в кластерном режиме:

  • Если одна из нод недоступна, данные перенаправляются на другую рабочую ноду
  • Если данные дублировались на нескольких нодах из-за нестабильности сети, все дубликаты будут удалены при отправке данных в скрипт автоматизации
  • Если произошел сбой, после восстановления работы нода вновь начнет принимать данные, как и раньше, так как структура хранилища данных будет восстановлена
Важно

Для обеспечения работы вебхука в кластерном режиме необходимо настроить передачу данных через отдельный порт, изолированный от порта, используемого веб-интерфейсом. Для этого порта требуется использовать отдельный SSL-сертификат, который отличается от сертификата, применяемого для веб-интерфейса. Если для сбора данных настроены несколько серверов, выделение работы вебхука на отдельный порт, на котором функции взаимодействия с сервером ограничены, улучшает безопасность и изоляцию системы.

Обработка полученных данных

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

Подробное описание блоков для работы с полученными данными представлено в разделе Редактирование скрипта.

Тестовое событие для настройки скрипта

Если реальные данные еще не поступили, вы можете протестировать блок Новое событие с помощью тестовых данных в формате JSON. После обработки тестового события система создает поля, которые затем можно использовать для маппинга в последующих блоках скрипта. Это дает возможность работать с полями блока Новое событие и настроить весь скрипт до получения реальных данных.

Чтобы использовать тестовое событие:

  1. Перейдите во вкладку Тест и нажмите Тестовое событие. Тестовое событие
  2. В открывшейся панели введите пример тела запроса в JSON-формате. Пример тела запроса
  3. Нажмите Применить, чтобы получить маппинг введенного примера. Маппинг введенного примера

Событийная обработка

Заметка

Эти функции доступны в бета-версии. Попробуйте их в работе и поделитесь своим мнением — обратная связь помогает нам развивать продукт.

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

Блок-триггер Новое событие из пакета Обработка событий предназначен для работы с событиями. Этот блок запускает скрипт при получении нового события, которое соответствует заданным условиям.

Настройка получения нового события

Заметка

Для работы блока в модели данных должен быть настроен процесс.

Параметры блока Новое событие:

  • Расписание запуска скрипта
  • Процесс
  • Событие
  • Объект для проверки события
  • Обработать старые события при первом запуске

Блок Новое событие для обработки событий

Расписание запуска скрипта настраивается аналогично расписанию в блоке-триггере Планировщик.

Расписание запуска скрипта

Укажите процесс, события которого будет отслеживать блок. Если в модели данных нет настроенного процесса, блок будет доступен, но его невозможно будет настроить и запустить.

Выбор процесса

В поле Появилось событие выберите событие для отслеживания:

  • Любое — скрипт будет запущен при любом новом событии в выбранном процессе
  • Из списка ниже — можно вручную задать конкретные события, которые запустят скрипт

Чтобы указать конкретное событие:

  1. Выберите в раскрывающемся списке опцию Из списка ниже.
  2. В поле События, нажмите Добавить и введите название события или выберите его из списка.

Выбор события

Для выбранного события можно настроить фильтр, чтобы учитывать только события, соответствующие определенным условиям. С помощью фильтров можно проверять значения параметров события, использовать расчеты по данным и ограничивать временные рамки.

Фильтрация события

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

При необходимости событие можно удалить, нажав соответствующую кнопку. Для добавления нескольких событий нажмите Добавить и выберите событие.

Далее добавьте условие для запуска скрипта. Можно задать одно или несколько условий.

Чтобы добавить условие:

  1. В поле Для объекта, в котором нажмите Добавить и выберите формулу. Вы можете выбрать:
    • Готовую формулу Количество выполнений события — сколько раз произошло событие в экземпляре процесса
    • Предложенные формулы для расчета значений по данным из модели данных рабочего пространства
    • Собственную формулу
    Выбор формулы
  2. В поле В процессе выберите процесс из модели данных, к которому относится событие. Выбор процесса для объекта
  3. В поле Для события введите название события или выберите его из списка событий указанного процесса.
  4. Укажите условие сравнения значений:
    • В интервале
    • Равно
    • Не равно
    • Больше
    • Меньше
    • Больше или равно
    • Меньше или равно
    • Пустое значение
    • Непустое значение
  5. Если выбрано условие В интервале, задайте временной промежуток. Для условий Равно, Не равно, Больше, Меньше, Больше или равно, Меньше или равно укажите значение для сравнения. Выбор условия
  6. Укажите, какие данные необходимо учитывать:
    • Все
    • До появления события
    • За определенный промежуток времени — можно задать временной интервал в днях, часах или минутах
    Выбор данных

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

Добавление фильтра и комментария

При необходимости условие можно удалить, нажав соответствующую кнопку.

Также можно добавить дополнительное условие. Для этого нажмите Добавить и повторите шаги по добавлению условия.

Удаление и добавление условия

Если необходимо обработать события, произошедшие до первого запуска блока, активируйте соответствующий переключатель и выберите период обработки событий:

  • За все время — обработать всю доступную историю
  • С определенной даты — обработать события только с указанного момента

Обработка старых событий

Обработка выходных данных

Блок возвращает:

  • Идентификатор экземпляра процесса
  • Имя события
  • Время события

Для обработки полученных данных добавьте в скрипт другие блоки автоматизации. Например, можно записывать информацию о событии в таблицу или использовать её для дальнейших действий в системе.

Выходные данные блока

Также в рамках событийной обработки событий доступен блок Ожидать событие.

Была ли статья полезна?

Да
Нет
Предыдущая
Проверка и публикация скрипта
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102025. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.