История страницы
ROBIN Agent модуль отвечающий за:
- получение команды на запуск конкретного робота м сами зашифрованные пакеты этого программного робота. Получает эту команду от ROBIN Orchestrator 2.0, когда речь идет о запуске из оркестратора, и от Robin Studio 2.0 при запуске в режиме отладки
- передачу в ROBIN Orchestrator 2.0 логов выполнения робота в режиме реального времени, логов ROBIN Studio 2.0 и Robin Player и своих собственных логов после завершения их работы.
ROBIN Agent устанавливается в операционную систему как служба, поэтому отсутствует полноценный графический интерфейс пользователя.
Изменять настройки модуля можно только через его конфигурационный файл Robin.Agent.Service.exe.config:
• логирование (путь и название файла лога, кодировка, максимальный размер файла лога, количество файлов лога, формат записи (паттерн) строки лога);
• адрес для обращения к хранилищу роботов через сервер приложений;
• настройки подключения к RabbitMQ (имя хоста, порт, логин и пароль пользователя, добавленного в RabbitMQ).
Взаимодействие ROBIN Agent 2.0 с другими компонентами и модулями
- ROBIN Player. ROBIN Agent отправляет команды на исполнения программных роботов в ROBIN Player, который установлен на том же хосте. Перед началом рабочей сессии приложения проходят процедуру взаимной аутентификации.
- ROBIN Studio 2.0. Если робот запущен в режиме отладки, агент передает логи исполняющегося процесса в ROBIN Studio 2.0 (формирование этого лога пользователь видит сразу на панели лога в Studio). Agent осуществляет взаимодействие только с той Studio, которая установлена на том же хосте. Перед началом рабочей сессии приложения проходят процедуру взаимной аутентификации.
ROBIN Agent - приложение (в установке «Для себя») или служба (в установке «для всех») обеспечивающее взаимодействие компонентов платформы:
- ROBIN Studio - ROBIN Robot - Executor - в случае использования варианта платформы Standalone
- ROBIN Studio - ROBIN Orchestrator - ROBIN Robot - Executor - в случае использования варианта платформы Enterprise
Как было упомянуто, ROBIN Robot может быть установлен в разных вариантах. При этом меняется каталог установки ROBIN Agent:
...
Вариант установки ROBIN Agent
...
Путь установки приложения
...
Установка «Для себя»
...
C:/Users/<userName>/AppData/Local/Programs/Robin Platform/2.0.0/Agent
...
Установка «Для всех пользователей»
...
C:/Program Files/Robin Platform/2.0.0/Agent
В случае проблем с работой ROBIN Agent, пользователь получит уведомление об ошибке.
В случае с Standalone, при попытке запуска ROBIN RobotPlayer:
...
- приложение, отвечающее за передачу сообщений и команд между ROBIN Studio, ROBIN Orchestrator и ROBIN Robot:
- при запуске робота из любого компонента платформы управление запуском происходит через ROBIN Agent
- при передаче логов выполнения роботов в ROBIN Orchestrator 2.0 в режиме реального времени
- при передаче в ROBIN Orchestrator информации о статусе машины и ее текущей загруженности
Вариант установки ROBIN Agent | Вариант функционирования | Путь установки приложения |
Установка "Для себя" | Приложение | C:/Users/<userName>/AppData/Local/Programs/Robin Platform/2.0.0/Agent |
Установка "Для всех пользователей" | Служба операционной системы | C:/Program Files/Robin Platform/2.0.0/Agent |
Вкладка настроек Robot Player «Агент»
В разделе "Агент" есть возможность настроить логирование ROBIN Agent.
Для поставки Standalone
Характеристики настроек вкладки "Агент" представлены в нижеприведенных таблицах:
Для поставки Standalone
№ | Настройка | Характеристика |
---|---|---|
1 | Логировать частые операции | Если параметр включен, часто выполняющиеся операции агента будут записаны в его лог. Например, команды ping. После заполнения необходимо перезагрузить ROBIN Agent |
2 | Сохранить все сообщения | Если параметр включен, в файл "messages.data" будут записаны все сообщения, которыми агент обменивается с другими компонентами платформы Robin. После заполнения необходимо перезагрузить ROBIN Agent |
Для сохранения изменений необходимо нажать на кнопку «Сохранить» и перезагрузить ROBIN Agent
Для поставки Enterprise и Cloud
№ | Настройка | Характеристика |
---|---|---|
Чекбокс Логировать частые операции | Если параметр включен, часто выполняющиеся операции агента будут записаны в его лог. Например, команды ping. После заполнения необходимо перезагрузить ROBIN Agent | |
Чекбокс Кэшировать зависимости робота | Если кэширование выключено, то после завершения работы робота зависимости будут удалены с машины. Поэтому при каждом повторном запуске робота будет происходить восстановление пакетов действий | |
Чекбокс Кэшировать роботов | Если кэширование выключено, то после завершения работы робота, его файл будет удален с машины. Поэтому при каждом повторном запуске робота будет снова происходить его скачивание на машину | |
Чекбокс Интервал переподключения | Интервал переподключения агента к серверу при разрыве соединения. Значение указывается в секундах. Минимальное значение "5" | |
Чекбокс Сохранить все сообщения | Сохранение всех входящих и исходящих сообщений. После заполнения необходимо перезагрузить ROBIN Agent | |
Чекбокс Интервал отправки данных о машине | Интервал отправки данных о ресурсах машины. Значение указывается в секундах. Минимальное значение "5". После заполнения необходимо перезагрузить ROBIN Agent | |
Чекбокс Логировать загрузки .NET зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке .NET зависимостей | |
Чекбокс Логировать загрузки Python зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке Python зависимостей | |
Чекбокс Логировать загрузки Java зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке Java зависимостей |
Особые условия
При запуске роботов в Robin Studio Enterprise при восстановлении файлов с длинными именами в папку, которая сама имеет длинное имя можно столкнуться с ограничениями , связанными с длиной пути MAX_PATH, которая определяется Windows API в 260 символов.
При отключенном кэшировании зависимостей робота при восстановлении файлов в Robin Studio Enterprise не хватает длины пути, чтобы скачать одну из зависимостей движка, кроме того после завершения работы робота зависимости будут удалены с машины. Поэтому при каждом повторном запуске робота будет происходить восстановление пакетов действий.
Для этого нужно проверить настройки ROBIN Agent:
- Если в настройках ROBIN Agent выбран вариант «НЕ кешировать зависимости робота»,
то при запуске робота на .NET действия (например, Сообщение), робот завершается с ошибкой, которая связана с длиной пути MAX_PATH.
Результат: ошибка восстановления пакетов
Начиная с Windows 10 версии 1607, MAX_PATH при отключенном кэшировании зависимостей ограничения были сняты для многих распространенных функций файлов и каталогов Win32. Однако используемое приложение должно согласиться на новое поведение.
Чтобы включить новое поведение длинного пути для каждого приложения при отключенном кэшировании зависимостей робота, должны быть выполнены некоторые условия.
Подробнее можно посмотреть тут: https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later
Эта проблема решается настройкой реестра вручную. Для этого в реестр HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemLongPathsEnabled поставить значение 1.
2. В версиях выше 2.24.0 перечень настроек Robot Player «Агент» ,был усовершенствован и для того, чтобы пакеты восстанавливались корректно, а робот запускался и отрабатывал без ошибки достаточно в настройках ROBIN Agent разрешить кэширование зависимостей.
Тогда, при запуске того же действия «Сообщение», пакеты с длинными путями восстанавливаются полностью, и робот отрабатывает без ошибки.
Отображение статуса ROBIN Agent
Статус Агента отображается индикатором статуса подключения в рабочей области в виде круга с буквой "А".
Актуально для версий: Standalone, Enterprise, Cloud.
ROBIN Player:
При наличии проблем с подключением к ROBIN Agent могут возникнуть трудности с запуском робота. Для диагностики возможных проблем на интерфейсах приложений размещен индикатор статуса подключения Agent.
Существуют следующие варианты отображения информирования пользователя о статусе Агента:
Вариант поставки Standalone:
- Зеленый - ROBIN Player подключен к Агенту, начиная с версии 2.20.2, Агент подключен к Оркестратору
- Серый - ROBIN Player не подключен к Агенту, необходимо перезапустить Агента
Вариант поставки Enterprise/Cloud:
- Зеленый - ROBIN Player подключен к Агенту, начиная с версии 2.20.2, Агент подключен к Оркестратору
- Серый - ROBIN Player не подключен к Агенту, необходимо перезапустить Агента
- Красный - ROBIN Player подключен к Агенту, Агент не подключен к Оркестратору
- Желтый - ROBIN Player подключен к Агенту, выполняется переподключение к Оркестратору
ROBIN Studio
Вариант поставки Standalone:
- Зеленый - ROBIN Studio подключена к Агенту
- Серый - ROBIN Studio не подключена к Агенту
Вариант поставки Enterprise/Cloud:
- Зеленый - ROBIN Studio подключена к агенту, Агент подключен к Оркестратору
- Серый - ROBIN Studio не подключена к Агенту
- Красный - ROBIN Studio подключена к Агенту, Агент не подключен к Оркестратору, переподключается сам
- Желтый - ROBIN Studio подключена к Агенту, выполняется переподключение к Оркестратору
При возникновении проблемы с подключением к ROBIN Agent можно попробовать решить ее перезапуском. Для этого:
В случае установке «Для себя»
- остановите работу ROBIN Robot Player - кликните правой кнопкой мыши по иконке программы в дереве, выберите пункт меню "Выйти"
- откройте
...
В зависимости от типа выполненной на АРМ установки программы последовательности действий немного различаются.
...
- каталог, где установлен ROBIN Agent (путь см. выше)
...
- найдите в каталоге и запустите
...
- приложение Kill.Robin.Agent.exe, дождитесь завершения
...
- его работы
...
- найдите в каталоге и запустите
...
- приложение Robin.Agent.exe, дождитесь завершения
...
- его работы
- Запустите RobotPlayer, кликнув дважды по иконке программы на Рабочем столе АРМ
2. В случае, когда была выполнена установка «Для всех пользователей»
В случае установки "Для всех пользователей"
- остановите работу ROBIN Robot Player Остановите работу ROBIN RobotPlayer - кликните правой кнопкой мыши на по иконке программы приложения в директории, выберите пункт меню «Выйти»
- Откройте откройте диспетчер задач (комбинация клавиш Ctrl-Alt-Del -> «Диспетчер задач»)
- Перейдите перейдите в раздел «Службы» "Службы"
- В в разделе "Службы" найдите процесс Robin.Agent.Service,
- Остановите остановите процесс, для этого правой кнопкой мыши кликните по имени процесса в Диспетчере задач, выберите пункт меню «Остановить»"Остановить"
- Дождитесь дождитесь полной остановки процесса Robin.Agent.Service!!!
- Вновь вновь запустите процесс Robin.Agent.Service, правой кнопкой мыши кликните по имени процесса в Диспетчере задач, выберите пункт меню «Запустить»"Запустить"
- Дождитесь дождитесь запуска процесса Robin.Agent.Service (появился статус «Выполняется» "Выполняется" в строке Службы)
- Запустите RobotPlayerзапустите Robot Player, кликнув дважды по иконке программы на Рабочем столе АРМ
Названия и описания конфигурационных параметров
Поставка | Параметр | Название | Описание |
---|---|---|---|
Standalone | AllowLogFrequentOperations | Логировать частые операции | Если параметр включен, часто выполняющиеся операции агента будут записаны в его лог. Например, команды ping. После заполнения необходимо перезагрузить ROBIN Agent. |
SaveAllMessages | Сохранить все сообщения | Если параметр включен, в файл "messages.data" будут записаны все сообщения, которыми агент обменивается с другими компонентами платформы Robin. После заполнения необходимо перезагрузить ROBIN Agent. | |
Enterprise | AllowLogFrequentOperations | Логировать частые операции | Если параметр включен, часто выполняющиеся операции агента будут записаны в его лог. Например, команды ping. После заполнения необходимо перезагрузить ROBIN Agent. |
CacheRobotDependencies | Кэшировать зависимости робота | Если кэширование выключено, то после завершения работы робота зависимости будут удалены с машины. Поэтому при каждом повторном запуске робота будет происходить восстановление пакетов действий. | |
CacheRobots | Кэшировать роботов | Если кэширование выключено, то после завершения работы робота, его файл будет удален с машины. Поэтому при каждом повторном запуске робота будет снова происходить его скачивание на машину. | |
ReconnectIntervalSeconds | Интервал переподключения | Интервал переподключения агента к серверу при разрыве соединения. Значение указывается в секундах. Минимальное значение "5". | |
SaveAllMessages | Сохранить все сообщения | Сохранение всех входящих и исходящих сообщений. После заполнения необходимо перезагрузить ROBIN Agent. | |
SystemUsageIntervalSeconds | Интервал отправки данных о машине | Интервал отправки данных о ресурсах машины. Значение указывается в секундах. Минимальное значение "5". После заполнения необходимо перезагрузить ROBIN Agent. | |
LogDotnetRestore | Логировать загрузки .NET зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке .NET зависимостей. | |
LogJavaRestore | Логировать загрузки Java зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке Java зависимостей. | |
LogPythonRestore | Логировать загрузки Python зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке Python зависимостей. | |
Cloud | AllowLogFrequentOperations | Логировать частые операции | Если параметр включен, часто выполняющиеся операции агента будут записаны в его лог. Например, команды ping. После заполнения необходимо перезагрузить ROBIN Agent. |
CacheRobotDependencies | Кэшировать зависимости робота | Если кэширование выключено, то после завершения работы робота зависимости будут удалены с машины. Поэтому при каждом повторном запуске робота будет происходить восстановление пакетов действий. | |
CacheRobots | Кэшировать роботов | Если кэширование выключено, то после завершения работы робота, его файл будет удален с машины. Поэтому при каждом повторном запуске робота будет снова происходить его скачивание на машину. | |
ReconnectIntervalSeconds | Интервал переподключения | Интервал переподключения агента к серверу при разрыве соединения. Значение указывается в секундах. Минимальное значение "5". | |
SystemUsageIntervalSeconds | Интервал отправки данных о машине | Интервал отправки данных о ресурсах машины. Значение указывается в секундах. Минимальное значение "5". После заполнения необходимо перезагрузить ROBIN Agent. | |
SaveAllMessages | Сохранить все сообщения | Сохранение всех входящих и исходящих сообщений. После заполнения необходимо перезагрузить ROBIN Agent. | |
LogDotnetRestore | Логировать загрузки .NET зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке .NET зависимостей. | |
LogJavaRestore | Логировать загрузки Java зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке Java зависимостей. | |
LogPythonRestore | Логировать загрузки Python зависимостей | Если параметр включен, в лог агента будут записаны сведения о загрузке Python зависимостей. |