Запуск скрипта
Чтобы запустить скрипт, после его публикации в правом верхнем углу нажмите Активировать.
Запустить можно только тот скрипт, у которого настроен триггер Планировщик, Ручной запуск, Вебхук, Новые события или Системные события.
Когда скрипт запускается, в верхнем правом углу появляется статус «Выполняется» с датой и временем запуска.
При нажатии кнопки Отключить статус меняется на «Выполнение останавливается».
После завершения выполнения статус меняется на «Последнее выполнение» с датой и временем последнего запуска.
Запустить и остановить скрипт можно также из Панели управления в пространстве. Для этого кликните правой кнопкой мыши по карточке скрипта в пространстве и выберите Активировать или Отключить в контекстном меню.
Скрипты с любыми триггерами, кроме Ручного запуска, будут активированы, скрипты с Ручным запуском выполнятся один раз.
Планировщик
Расписание выполнения скрипта задается через блок Планировщик. Этот блок может быть выбран только в начале скрипта. Выберите вариант расписания в настройках блока:
- По минутам (по умолчанию 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» означает, что скрипт будет запускаться в третью пятницу каждого месяца
В поле ввода значения подсвечивается разряд, рядом с которым стоит курсор.
Соотношение символов и диапазон значений для полей представлены в таблице ниже.
Поле | Допустимые значения | Используемые символы |
---|---|---|
Минуты | 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.
Вебхук
Блок-триггер Вебхук запускает скрипт, когда получает новые события.
В левой панели представлен адрес вебхука, UUID, который можно редактировать, и переключатель синхронного режима работы.
Чтобы блок получал новые события, скопируйте адрес и вставьте на сайт или в приложение, с которых необходимо отслеживать изменения.
При запуске скрипта в любом режиме следующий запуск происходит через 5 минут, и изменить этот временной параметр невозможно. Если Вебхук работает в синхронном режиме и данные будут получены раньше, чем ожидается по таймеру, скрипт активируется сразу, а таймер будет пересчитан на 5 минут с момента активации скрипта. Если Вебхук работает в асинхронном режиме, скрипт активируется снова только по истечении заданного таймером времени.
При синхронном режиме работы скрипт возвращает ответ сразу после выполнения. При асинхронном режиме ответ возвращается по GraphQL-запросу. Возвращаются данные, указанные в блоке Вернуть данные.
Во вкладке Тест можно создать тестовое событие. При нажатии соответствующей кнопки введите пример тела запроса в JSON-формате. При нажатии Применить отобразится маппинг введенного примера.
При импорте и экспорте скрипта с блоком Вебхук будет сгенерирован новый адрес.
Системные события
Блок Системные события собирает статистику о действиях пользователей в системе.
Блок запускается каждые пять минут. Если при срабатывании триггера обнаруживаются новые данные о действиях пользователей в системе, скрипт запускается полностью.
Настройка параметров не требуется. Для получения новых событий достаточно добавить блок в скрипт в качестве триггера.
Работа блока аналогична работе блока Новые события. Блок возвращает те же поля, что и блок Новые события.
В системе может быть только один активный скрипт с блоком Системные события.
Если в системе уже есть активный скрипт с блоком Системные события, импортировать пространство с другим активным скриптом, содержащим этот блок, не удастся. В этом случае необходимо сначала отключить активный скрипт в пространстве.
Была ли статья полезна?