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

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

В этой статье
  • Запуск скрипта
  • Планировщик
  • Расписание в формате CRON
  • Ограничения
  • Примеры cron-выражений
  • Ручной запуск
  • Вебхук
  • Настройка вебхука
  • Обработка полученных данных

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

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

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

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

Выполняется

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

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

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

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

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

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

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

Планировщик

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

  • По минутам (по умолчанию 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. Нажмите Применить, чтобы получить маппинг введенного примера. Маппинг введенного примера

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

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