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

В PolyAnalyst имеется интерфейс командной строки (CLI), который позволяет запускать узлы PolyAnalyst из командной строки (командного окна). Приложение Командное окно традиционно используется для запуска текстовых команд и приложений. Например, Windows DOS относится к CLI. В данной документации использование командного окна подробно не рассматривается, при необходимости обратитесь к документации Microsoft. Для открытия командного окна в меню Пуск выберите команду Выполнить и введите "cmd".

Использование CLI

В PolyAnalyst используется единственная команда PABatExec - пакетный запуск приложения PolyAnalyst. Чтобы использовать команду PABatExec, необходимо либо (а) изменить рабочую директорию папки, содержащую PABatExec, (b) использовать полный путь к приложению или (c) настроить переменную PATH, чтобы PABatExec можно было вызывать из любой директории. По умолчанию приложение PABatExec расположено в директории, в которой установлен PolyAnalyst.

Команда PABatExec предусматривает три аргумента:

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

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

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

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

cmd pabat example

Этапы работы с использованием CLI

Процесс обработки данных посредством интерфейса командной строки содержит следующие этапы:

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

  2. По желанию настройте время выполнения задачи, используя Планировщик задач. Указывая настройки в файле конфигурации CLI, вы можете сослаться не на проект, а непосредственно на запланированную задачу. Если вы хотите выполнить запланированную задачу через командную строку, вам понадобится ID запланированной задачи. Чтобы получить этот ID, откройте окно Планировщика задач, нажмите на нужную задачу правой кнопкой мыши и выберите опцию Копировать ID задачи. Затем откройте Блокнот или иное приложение для редактирования текста и вставьте туда идентификатор. Этот идентификатор необходим при дальнейшей настройке файла XML.

      <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
    <Node>
      <Server Server_name="localhost" Port="5063" User_name="administrator" Password="" />
      {
      <ScheduledTask Id="2" />
      }
    </Node>

    Здесь в ScheduledTask Id="2" указывается идентификатор задачи, который копируется в планировщике через контекстное меню "Копировать ID задачи".

  3. Если вы создали новый проект, убедитесь, что проект закрыт. Если проект открыт и PolyAnalyst настроен на запрет одновременного доступа к проектам, команда CLI может быть не выполнена.

  4. Скопируйте ID проекта, который нужно выполнить. Для этого откройте Менеджер проектов. Выберите нужный проект и скопируйте его ID из таблицы. ID проекта представляет сложную комбинацию буквенных и числовых символов, например, "87023ff9-7937-4b95-9306-39f45d69c429".

  5. Настройте файл XML. Файлы XML представляют собой простые текстовые файлы. Их можно создать в Блокноте или в ином подобном приложении для редактирования текста. Как правило, файл имеет расширение ".xml" (но это не обязательно). Содержимое файла должно соответствовать определенным правилам (см. ниже). По завершении работы сохраните и закройте файл. Закрывать файл не обязательно, но это позволяет избежать ошибки, при которой Windows не дает PABatExec читать содержимое файла, т.к. он открыт в другом приложении. Дайте файлу такое имя, которое легко запомнить. Возможно, вы захотите сохранить файл в той же папке, что и PABatExec, чтобы указывать относительный путь при вызове PABatExec.

  6. Откройте командную строку. Вызовите PABatExec (см. выше), используя пользовательский XML-файл.

  7. Опытные пользователи Windows знают, что существует огромное количество способов вызова команды в Windows. Например, вместо того, чтобы набирать команду вручную, можно использовать Планировщик задач Windows, чтобы создать Запланированную задачу в Windows по вызову определенной команды в конкретное время либо после определенного события. Другой вариант - использовать стороннюю программу для вызова команды.

  8. PolyAnalyst выполняет команду. В это время вы можете открыть Административный клиент и наблюдать за ходом выполнения задачи. При этом никакая информация в самом командном окне не отображается.

  9. По завершении задачи окно командной строки становится активным. Можно закрыть окно.

Создание пользовательского файла конфигурации CLI

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

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Node>
  <Server Server_name="localhost" Port="5063" User_name="johndoe"    Password="secret">
 </Server>
  <Object Project_ID="87023ff9-7937-4b95-9306-39f45d69c429">
    <Node_name>
      <Node_name>CSV Source</Node_name>
      <Node_name>CSV Source (1)</Node_name>
    </Node_name>
  </Object>
</Node>
<Email mail_server="domain.com" mail_address="someone@domain.com">
</Email>

Тег Server содержит данные для подключения к серверу. Тег Object содержит ID проекта. Тег Node_name позволяет указать один или несколько узлов, которые будут выполнены. Помните, что при запуске первого узла в цепи все последующие узлы автоматически выполняются по очереди, т.е. вам не нужно указывать каждый узел в проекте, а лишь первый узел в той цепи узлов, которую нужно выполнить. Последний тег, Email, не является обязательным. Он позволяет указать сервер и адрес электронной почты, которые используются для отправки уведомлений об удачном выполнении задач, либо сообщений об ошибке. Ниже представлен другой пример с другими дополнительными тегами:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Node>
	<Server Server_name="<server IP or name>" Port="<server port>"
		User_name="<login>" Password="<password>"
		[Impersonate={0|1}] [Delegate={0|1}] [UseLdap={0|1}]
		[AutoDetectLdapServer={0|1}] [LoginAsWinUser={0|1}]
		[LdapServer="<LDAP server IP or name>"]
		[StatisticsFilePrefix="<prefix>"] />
	{ <Object [Project_ID="<project or report ID>"] [ExecuteMode={from|to}]
    	[Save={0|1}] [Unload={0|1}]>
		{<Node_name />} | <Node_name>(<Node_name>"<node name>"</Node_name>)+</Node_name>}
	</Object>
	} | { <ScheduledTask Id="<task id>"/> }</Node>
<Email mail_server="<server IP or name>" mail_address="<recipient address>"
	[mail_host="<host>"] [mail_from="<from address>"] [mail_port=<mail port>]
	[mail_user="<mail login>"] [mail_password="<mail password>"] />
<Import path="<project>" [delete_on_exit={0|1}] [overwrite={0|1}] />

По умолчанию после выполнения проект сохраняется и извлекается из памяти. Для более быстрой работы можно управлять опциями сохранения и извлечения проекта. Для этого в файле конфигурации в поле тега Object нужно указать значение save=0. В этом случае проект не сохранится. Если в поле тега Object указать значение unload=0, проект не будет извлечен из памяти.

Примеры файлов конфигурации CLI

В установочной папке (в подпапке Examples) PolyAnalyst имеются два примера XML-файлов с названиями batch1.xml и batch2.xml. Вы можете использовать эти примеры для создания собственных файлов.