Исходный код вики Запуск нескольких экземпляров ПО
                  Версия 2.1 от nosolodkov на 2019/08/26 16:02
              
      Последние авторы
| author | version | line-number | content | 
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | {{view-file att--filename="pumotix_multiple_run.bat" name="" height="250"/}}Допустимо запускать ПО PUMOTIX в виде нескольких независимых экземпляров Клиента и Сервера в рамках одной операционной системы. Например, для управление несколькими станками с ЧПУ с одного компьютера. Для автоматического запуска двух или более экземпляров Клиента и Сервера PUMOTIX нужно воспользоваться специальным скриптом. | ||
| 4 | |||
| 5 | Для запуска нескольких экземпляров PUMOTIX скачайте и запустите файл **pumotix_multiple_run**. По-умолчанию скрипт настроек на одновременный запуск двух независимых экземпляров клиента и сервера. Для запуска большего числа экземпляров программы откройте скрипт текстовым редактором и укажите необходимое количество экземпляров в переменную **instance_count**. После этого сохраните отредактированный файл и выполните его повторно.Для каждого экземпляра Клиента и Сервера должен быть свой уникальный набор конфигурационных файлов. | ||
| 6 | |||
| 7 | Для этого каждому запускаемому Клиенту и Серверу с помощью ключа **-d** нужно указать путь к рабочему каталогу, куда при первом запуске Клиент и Сервер сохранят все свои конфигурационные файлы, макросы, логи и т.д. | ||
| 8 | Для каждого экземпляра Сервера обязательно должен быть задан уникальный порт для подключения Клиентов (см. элемент **<client_port></client_port>** в узле **<srv></srv>** в конфигурационном файле сервера **config.xml**) Пример работы с конфигом будет ниже. | ||
| 9 | |||
| 10 | Рабочий каталог PUMOTIX по-умолчанию: **%userprofile%\local settings\application data\purelogic\pumotix** | ||
| 11 | |||
| 12 | При создании дополнительных каталогов автоматически меняется только последняя директория пути (Client_1, Client_2, Server_1, Server_2 и т.д.), чтобы обеспечить уникальные пути для файлов конфигурации. | ||
| 13 | Путь к рабочему каталогу в скрипте можно указать в переменной **def_working_directory_path**. | ||
| 14 | |||
| 15 | Пример редактирования конфига сервера. | ||
| 16 | Редактируем файл config.xml для первого экземпляра сервера (путь %userprofile%\local settings\application data\purelogic\pumotix\server_1). Находим узел srv и элементы **client_port** и **srv_name**. Порт можно взять любой свободный из диапазона **1025-65535**. В рамках этого примера был взят порт 27400. Для удобства навигации по нескольким серверам отредактируем имя сервера в элементе **<srv_name></srv_name>**. Переименовать сервер также можно через графический интерфейс PUMOTIX в настройках программы. | ||
| 17 | |||
| 18 | {{code}} | ||
| 19 | <srv> | ||
| 20 | ... | ||
| 21 | <client_port>27400</client_port> | ||
| 22 | ... | ||
| 23 | <srv_name>PUMOTIX server 1</srv_name> | ||
| 24 | ... | ||
| 25 | </srv> | ||
| 26 | {{/code}} | ||
| 27 | |||
| 28 | |||
| 29 | Теперь правим config.xml для второго экземпляра сервера (путь %userprofile%\local settings\application data\purelogic\pumotix\server_2). Порт ему следует указать на единицу больше, например, **27401**. | ||
| 30 | |||
| 31 | {{code}} | ||
| 32 | <srv> | ||
| 33 | ... | ||
| 34 | <client_port>27401</client_port> | ||
| 35 | ... | ||
| 36 | <srv_name>PUMOTIX server 2</srv_name> | ||
| 37 | ... | ||
| 38 | </srv> | ||
| 39 | {{/code}} | ||
| 40 | |||
| 41 | |||
| 42 | Провести аналогичные манипуляции с конфигурационными файлами 3 и последующих экземпляров, указав каждому уникальный порт. | ||
| 43 | |||
| 44 | Если все сделано правильно, то при запуске скрипта **pumotix_multiple_run** будет запускаться требуемое количество Клиентов и Серверов. Каждый клиент и Сервер благодаря уникальным рабочим каталогам будет иметь независимые настройки. | ||
| 45 | |||
| 46 | Если при старте скрипта наблюдается запуск и выключение Сервера через 2-3 секунды - это значит, что где-то был повторно использован порт для подключения клиентов. Еще раз проверьте, что во всех файлах конфигурации указаны разные порты в секции | ||
| 47 | |||
| 48 | {{code}} | ||
| 49 | <client_port></client_port> | ||
| 50 | {{/code}} | ||
| 51 | |||
| 52 | (% class="auto-cursor-target" %) | ||
| 53 | \\ |