Запуск сценариев Loginom в автоматическом режиме

19 января 2023
0 комментариев

Loginom позволяет выполнять расчеты не только в интерактивном, но и в автоматическом режиме по расписанию или по требованию. В статье описаны способы пакетной обработки при помощи специальной утилиты или вызова веб-сервиса.

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

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

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

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

Автоматическую обработку в Loginom можно осуществить с помощью:

Рассмотрим подробнее, как работают эти способы.

Пакетное выполнение

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

Пакетный режим будет удобен, когда:

  • Выполняются долгие и ресурсоемкие вычисления. Запуск таких сценариев может производиться в нерабочее время, например, ночью или в выходные дни. Выполнение можно настроить для периода, когда нагрузка на оборудование минимальная, либо задействовать под расчеты отдельный сервер.
  • Обработку нужно выполнять регулярно. Для этого настраивается планировщик, автоматически выполняющий в заданное время сценарии с выгрузкой результатов обработки в файлы, базы и прочие приемники данных.

Для автоматического запуска сценария в пакетном режиме можно воспользоваться:

  • Командной строкой
  • Планировщиком задач

Запуск из командной строки

Запуск из командной строки производится с помощью утилиты BatchLauncher, которая поставляется вместе с редакциями Team, Standard и Enterprise.

Рассмотрим алгоритм действий на примере операционной системы Windows. Логика настройки Linux будет аналогичной.

Для запуска пакета с компьютера, где установлен Loginom Server, необходимо открыть командную строку, а затем ввести команду.

В минимальном виде команда выглядит так:

<Путь к утилите BatchLauncher> /Package=<Путь к файлу пакета>

Пример:

"C:\Program Files\BaseGroup\Loginom 6\Server\BatchLauncher.exe" /Package=/user/packed.lgp

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

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

Далее нужно открыть командную строку и ввести команду.

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

<Путь к утилите BatchLauncher> /Package=<Путь к файлу пакета> /address=<адрес сервера> /Port=<порт сервера> /userName=<Логин> /Password=<Пароль>

Если пароль отсутствует, кавычки необходимо оставить пустыми.

Пример:

"C:\Program Files\BaseGroup\Loginom 6\Server\BatchLauncher.exe" /Package=/user/packed.lgp /address=192.168.0.152 /Port=4580 /userName=user /Password=""

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

Запуск при помощи планировщика

Рассмотрим запуск на примере планировщика Windows. При использовании Linux можно воспользоваться инструментами, принятыми в данной операционной системе, например, утилитой cron.

Для автоматического запуска пакета с сервера Windows необходимо зайти в стандартный планировщик заданий.

Планировщик заданий, стартовое окно

Выбрать «Создать задачу». Заполнить поле «Имя задачи» и перейти во вкладку «Триггеры». Там создать новый триггер, в котором указать периодичность задачи, а затем сохранить.

Планировщик заданий, триггеры

Далее необходимо перейти во вкладку «Действия» и создать новое. В строке «Программа или сценарий» указать путь до утилиты, в поле «Добавить аргументы» прописать команду запуска. Затем сохранить задачу.

Планировщик заданий, действия

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

Планировщик заданий, история

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

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

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

Запуск с помощью веб-сервиса

Альтернативным способом автоматической обработки данных является вызов веб-сервиса. Loginom позволяет создавать и публиковать собственные веб-сервисы. Данный вариант запуска обеспечивает выполнение обработки по требованию, например, в момент обращения к Loginom из сторонней системы.

Запуск обработки при помощи веб-сервиса помимо Loginom Server требует наличия дополнительного компонента платформы — Loginom Integrator.

Алгоритм работы при использовании веб-сервиса следующий:

  1. Создание подмодели. В качестве веб-сервиса можно опубликовать любой узел. Чаще всего используется подмодель, поскольку она может содержать внутри себя любой сценарий обработки. Кроме того, в ней доступно создание и настройка портов: входные будут задавать структуру запроса, а выходные – структуру ответа. Внутри подмодели обязательно должна быть настроена выгрузка результатов в файлы, базы или другие приемники данных.
  2. Публикация веб-сервиса. Для этого модификатор доступа подмодели обязательно должен быть установлен как «Опубликованный», а затем необходимо опубликовать пакет, включающий данную подмодель. Пакет будет опубликован как веб-сервис с собственным URL.
  3. Тестирование веб-сервиса. Прежде, чем интегрировать во внешние системы, опубликованный веб-сервис можно протестировать при помощи специальных утилит. В самом простом случае можно воспользоваться браузером и Swagger.
  4. Интеграция веб-сервиса. Веб-сервис должен быть вызван из любой внешней системы, поддерживающей работу с SOAP XML или REST JSON.

Подробнее о создании и публикации веб-сервисов можно узнать в справке.

Пример создания с нуля простого веб-сервиса, публикации и интеграции с внешними системами:

Автоматизация расчетов

Описанные выше способы показывают, что платформа Loginom может использоваться не только для интерактивной работы с данными, но и как инструмент автоматизации рутинных операций. При этом аналитик способен решать широкий спектр задач от простого ETL (чтение файлов, агрегация, простые расчеты и экспорт в приемники данных) до построения систем поддержки принятия решений, включающих нетривиальные задачи, например, обогащение данных или машинное обучение.

Таким образом, Loginom покрывает самые популярные кейсы автоматизации:

  • Запуск обработки из командной строки;
  • Выполнение сценария по регламенту;
  • Обработка данных по событию.

В low-code платформе Loginom можно настраивать все действия визуально, не прибегая к языкам программирования, что снижает требования к уровню знаний сотрудников. Следовательно, большинство пользователей будут в состоянии самостоятельно автоматизировать не только простые, но и достаточно сложные рутинные задачи без обращения к IT-службам.

Другие материалы по теме:

Веб-сервисы в Loginom: создание, публикация, интеграция. Вебинар

Уведомления из сценариев Loginom при помощи Telegram

Автоматизация рутинных операций сотрудников. Кейс Автоэкспресс

#автоматизация#loginom#веб-сервис

Смотрите также