Пакетное выполнение сценариев
Пакетный режим — исполнение Cценариев Пакета без отображения какого-либо пользовательского интерфейса и вывода сообщений на экран. Обычно результатом выполнения пакета при этом является формирование итоговых данных и передача их в стороннюю систему (например, в хранилище данных или другую учетную систему).
Пакетное выполнение cценариев осуществляется при помощи утилиты BatchLauncher, поставляемой в комплекте с сервером Loginom версий Team, Standard, Enterprise. При установке по умолчанию утилита располагается по пути:
Для Windows:
"C:\Program Files\Loginom\Server\BatchLauncher.exe"
.
Для Linux:
"/opt/loginom/server/BatchLauncher"
Важно: BatchLauncher работает синхронно с сервером и ждёт завершения процесса. Если BatchLauncher закрыть, то в Loginom Server отменится соответствующий процесс.
Синтаксис строки запуска в пакетном режиме:
Для Windows:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=<FileName> [/Teach] [/Node=<NodeName>] [/Address=<Address>] [/Port=<Port>] [/UserName=<UserName> [/Password=<Password>]] [/VarName=<Value>] [/PortName.VarName=<Value>] [/Save]
Для Linux (native):
/opt/loginom/server/BatchLauncher -package=<FileName> [-teach] [-node=<NodeName>] [-address=<Address>] [-port=<Port>] [-userName=<UserName>] [-password=<Password>] [-vаrname=<Value>] [-portname.varname=<Value>] [-save]
Для Linux (docker):
docker exec -it loginom-server /app/BatchLauncher -package=<FileName> [-teach] [-node=<NodeName>] [-address=<Address>] [-port=<Port>] [-userName=<UserName>] [-password=<Password>] [-vаrname=<Value>] [-portname.varname=<Value>] [-save]
Для Linux (podman):
podman exec -it loginom-server /app/BatchLauncher -package=<FileName> [-teach] [-node=<NodeName>] [-address=<Address>] [-port=<Port>] [-userName=<UserName>] [-password=<Password>] [-vаrname=<Value>] [-portname.varname=<Value>] [-save]
Где:
/Package, /Teach, /Node, /Address, /Port, /UserName, /Password, /PortName.VarName, /VarName, /Save — параметры запуска в пакетном режиме.
Несколько параметров в строке запуска разделяются символом пробела.
Пример:
Для Windows:
"C:\Program Files\Loginom\Server\BatchLauncher.exe" /Package=test.lgp /Teach
Описание параметров
Package
Путь к файлу пакета внутри файлового хранилища. Обязательный параметр.
Примеры:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp
"C:/Program Files/Loginom/Server/BatchLauncher.exe" "/Package=/user/test and log.lgp"
Node
Имя узла, который необходимо выполнить. При этом выполняются указанный узел и все предшествующие ему узлы — то есть все узлы, которые необходимо выполнить для формирования его входных данных. Узел не должен находиться в Подмодели. Если параметр не указан, то выполняются все узлы Пакета, для которых заданы необходимые настройки режима активации.
Примечание: имя узла задается при настройке модификатора доступа.
Примеры:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp "/Node=executable node"
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Node=executable_node
PortName.VarName
Используется для задания значений входных Переменных узла, определенного параметром /Node.
- PortName — наименование порта;
- VarName — наименование переменной, значение которой необходимо задать в строке запуска.
Примеры:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Node=test_node /Port1.Parameter1=true
/Port1.Parameter2=2008-01-02T22:24:24 "/Port2.Parameter1=Hello World!" /Port2.Parameter2=null /Port2.Parameter3=3.14 /Port2.Parameter4=4.025E4
Можно не указывать наименование порта (например: /Parameter1=true, однако, если переменная с указанным таким образом именем присутствует в нескольких портах, то возникнет исключение. Ошибка так же возникнет, если указано имя несуществующей переменной.
Важно: все незарезервированные параметры в строке запуска интерпретируются как параметры установки значений переменных.
Исходное строковое значение, указанное в командной строке, конвертируется к типу данных целевой переменной:
- Если исходное строковое значение равно null (с учётом регистра), то целевая переменная получает пустое значение независимо от её типа данных.
- Если целевая переменная имеет тип Логический, Целый, Вещественный или Дата/Время, то исходное строковое значение конвертируется по правилам соответствующего типа, причём для Вещественного типа используется десятичный разделитель . (точка). Для Даты/Времени используется подмножество форматов ISO 8601: "YYYY-MM-DD", "YYYY-MM-DDThh:mm[:ss[.zzz]]", "hh:mm[:ss[.zzz]]". Допустимыми значениями Логического типа считаются true и false (без учёта регистра).
- Если целевая переменная имеет Строковый тип, то преобразование типа данных не выполняется. Если исходное значение заключено в одинарные кавычки, то эти кавычки разэкранируются, в противном случае исходное значение присваивается в переменную без изменений.
- Если целевая переменная имеет Переменный тип, то происходит попытка поочерёдно преобразовать исходное строковое значение к типам Логический, Целый, Вещественный и Дата/Время, причём если ни одно из этих преобразований не удалось, то целевая переменная получает строковое значение.
- Для переменных типа Вещественный и Переменный в качестве параметров можно передавать экспоненциальную форму записи числа (пример: 4.205E2, 4.205E-2).
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Node=test_node /Var0=null /Var1=True /Var2=1 /Var3='1' /Var4='null' /Var5= /Var6=test /Var7='te''st' /Var8="test" "/Var9=a b c"
Если все переменные имеют Переменный тип, то они получат следующие значения:
Var0 — пустое значение;
Var1 — логическое значение true;
Var2 — целое значение 1;
Var3 — строковое значение 1;
Var4 — строковое значение null;
Var5 — пустая строка;
Var6 — строковое значение test;
Var7 — строковое значение te'st;
Var8 — строковое значение "test";
Var9 — строковое значение a b c.
VarName
Используется для задания значений Переменных пакета.
Для того чтобы задать значение переменной, необходимо указать параметр формата:
/VarName=Value
./.VarName=Value
— используется, если имя переменной совпадает с именем, зарезервированным параметром BatchLauncher (например,Package
илиUserName
),
где:
VarName
— наименование переменной, значение которой необходимо задать в строке запуска;Value
— значение переменной.
Примечание: нельзя устанавливать значения переменных, которые доступны "Только для чтения".
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Var0=null /Var1=True /Var2=1 /Var3='1' /Var4='null' /Var5= /Var6=test /Var7='te''st' /Var8="test" "/Var9=a b c"
Teach
Запуск пакета в режиме «Обучение». Если параметр не указан, то пакет запускается в режиме «Выполнение».
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Teach
Address
IP адрес или имя хоста сервера Loginom. По умолчанию используется localhost.
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Address=192.168.0.95
Port
Порт, по которому происходит обращение к серверу Loginom. По умолчанию используется 4580.
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /Address=192.168.0.95 /Port=4555
UserName
Имя пользователя. Если параметр не указан, то используется пользователь по умолчанию service. Если пользователя service удалить, то необходимо обязательно указывать параметр UserName.
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /UserName=user
Password
Пароль пользователя. Если параметр не указан, то используется пустой пароль.
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=/user/test.lgp /UserName=user /Password=12345
Save
При наличии этого параметра пакет будет сохранён на диск после выполнения или переобучения.
Если при выполнении пакета возникнет ошибка, то он не будет сохранен.
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" /Package=test.lgp /Teach /Save
Важно: при использовании пробельных символов в выражении, задающем значение параметра, все выражение необходимо заключить в двойные кавычки.
Пример:
"C:/Program Files/Loginom/Server/BatchLauncher.exe" "/Package=/user/Quantization training/Quantization.lgp" /Teach /UserName=user