Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим
просмотр истории страницы
Версия 1
Следующий »
Очередь роботов
В разделе доступны причины, из-за которых запуск робота был отправлен в очередь роботов.
При попытке запуска робота (любым способом) система может отправить этот запуск в очередь роботов.
Очередь роботов - это список неудачных запусков роботов (их не удалось начать или прервались из-за ошибки), которые система автоматически попытается выполнить еще раз в порядке попадания запусков в этот список.
Количество запусков не равно количеству роботов. Можно запустить несколько раз одного и того же робота - при этом это будут разные запуски.
Интерфейс раздела Очереди роботов доступен в разделе Оркестратор:
Описание таблицы Очереди роботов
Таблица содержит список роботов, которые не запущены в данный момент.
В таблице отображаются:
- Название и версия робота, а также необходимость графической сессии для работы
- Время, когда незапущенный робот был добавлен в очередь роботов
- Способ запуска робота
- Инициатор запуска
- Машина, на учетной записи которой запущен робот
- Учетная запись, на которой запущен робот
- Количество попыток запуска робота
Описание столбцов и кнопок таблицы
Название столбца/кнопки | Описание |
---|
Столбец "Робот" | - Название робота
- Версия робота
- Индикатор, отображающий необходимость наличия графической сессии для работы робота. Если отображается , значит, графическая сессия необходима, если - не нужна
|
Столбец "Добавлен в очередь" | Дата, когда робот был добавлен в очередь |
Столбец "Способ запуска" | Вариант запуска робота: - Ручной запуск - робот запущен пользователем. Рядом с фразой в столбце отображается название приложения, через которое запустили робота: "Robin Studio", "Robin Player" или "Оркестратор"
- Условие запуска (Очередь ресурсов) - робот запущен по условию на основе очереди ресурсов
- Условие запуска (Расписание) - робот запущен по условию на основе расписания, которое настроено через Оркестратор
- Процесс - робот запущен в рамках выполнения процесса ЦС
- Робот - робот запущен другим роботом
|
Столбец "Инициатор" | Вариант записи инициатора зависит от способа запуска робота: - Вручную - отображается ФИО пользователя, который запустил робота
- Условие запуска (Очередь ресурсов) - отображается название этого условия. Название условия - это ссылка на его карточку, которая открывается в режиме "для чтения" (есть возможность сразу ее изменить). При нажатии карточка не открывается, если:
- Условие запуска не найдено в базе. Появляется предупреждение: "Ошибка при работе с условием запуска. Условие запуска не найдено"
- Условие запуска не найдено или недоступно пользователю в текущем тенанте. Появляется предупреждение: "Работа с условием запуска запрещена. Недостаточно прав для работы с условием запуска "Название условия""
- Условие запуска (Расписание) - требования аналогичны требованиям для инициатора "Условие запуска (Очередь ресурсов)"
- Процесс - отображается название этого процесса
- Робот - отображается:
- Название робота
- Версия робота. Если у робота нет версии, в таблице будет указано "0.0.0"
- Индикатор, отображающая необходимость наличия графической сессии для работы робота: - необходима, - не нужна
|
Столбец "Машина" | Название и IP-адрес машины, на учетной записи которой запущен робот |
Столбец "Учётная запись" | Учетная запись машины, на которой запущен робот |
| Количество попыток запуска робота |
Кнопка | По нажатию происходит обновление записей в таблице |
Параметры, влияющие на работу очереди роботов
Параметры, влияющие на работу очереди роботов | Наименования и обозначения параметров | Где устанавливается |
---|
Параметры очереди роботов | Текущее количество совершенных попыток перезапуска = r Время ожидания между перезапусками = t | Оба параметра настраиваются в config-файле системы |
Лимит выполняющихся запусков | Устанавливается в конфигурационном файле системы при ее развертывании. Параметр общий для всех машин, т.е. нельзя настроить разные лимиты для разных машин. При этом процессы (проекты роботов), запущенные через ROBIN Studio, не учитываются в общем количестве текущих запусков |
Максимальное количество перезапусков. Некоторые запуски могут попадать в очередь бесконечно, например, если проблема в самом роботе, и требуется его изменение через ROBIN Studio. Чтобы очередь не была забита такими запусками, после попадания запуска в очередь система попытается его повторно выполнить только установленное количество раз Когда количество выполненных попыток станет = числу, установленному в конфигурационном файле, система удаляет этот запуск из очереди и далее его не контролирует | Устанавливается в конфигурационном файле |
Тайм-аут. Это время, которое должно пройти с момента попадания запуска в очередь (в первый раз или при неудачной попытке перезапуска), прежде чем система попытается еще раз выполнить этот запуск Пример работы этого параметра: - Робот упал в ошибку, и система отправила этот запуск в очередь
- Возникает событие, при котором система повторяет запуски в очереди
- С момента попадания запуска в очередь еще не прошло время равное значению из конфигурационного файла. Поэтому система пропускает этот запуск, оставляя его в очереди
- Количество выполненных перезапусков для этого запуска остается неизменным
- Спустя какое-то время снова возникает событие, запускающее проверку очереди
- С момента попадания запуска в очередь уже прошло время равное значению из конфигурационного файла. В этот раз система не пропускает этот запуск и пытается начать его выполнение
- Вне зависимости от результата (удалось начать запуск или нет), количество выполненных перезапусков для этого запуска увеличивается на 1
| Устанавливается в конфигурационном файле |
Параметры условий запуска на основе очереди ресурсов | Количество ресурсов для первого запуска = N Количество экземпляров робота = D Количество ресурсов для дополнительных запусков = M Количество экземпляров робота, которые должны выполняться в данный момент с учетом текущего кол-ва ресурсов очереди = L Текущее количество выполняющихся экземпляров робота = n | Все параметры, кроме L и n, настраиваются в карточке условия запуска |
Добавление запуска в очередь
События, при которых система пытается еще раз повторить запуски, попавшие в очередь:
- Какой-либо выполняющийся робот завершил свою работу, т.е. на одной из учетных записей машин освободилось место для еще одного запуска
- В карточке учетной записи машины добавили или обновили учетные данные
- Одна из учетных записей машин стала активной, и при этом количество выполняющихся на ней запусков не > установленного лимита запусков
Причины, из-за которых запуск робота будет отправлен в очередь
Запуск робота будет отправлен в очередь, если его не удалось запустить, в зависимости от условий запуска:
Вид запуска | Причина отправки робота в очередь |
---|
Запуск робота вручную Раздел "Роботы" | - Система проверяет, есть ли в очереди роботов другой запуск, который также должен произойти на выбранной УЗ:
Если запуск есть, система добавляет в очередь текущий запуск (Раздел "Роботы"), закрывает окно "Запустить робота" и выводит предупреждение: "Запуск робота добавлен в очередь роботов. Учетная запись занята"
- Система проверяет, работает ли сейчас на выбранной УЗ Ui-робот (этот же или любой другой). Если работает, система добавляет в очередь текущий запуск (Раздел "Роботы"), закрывает окно "Запустить робота" и выводит предупреждение: "Запуск робота добавлен в очередь роботов. На учетной записи уже работает UI-робот, запустить более одного UI-робота нельзя"
- Система сравнивает кол-во текущих запусков роботов на выбранной УЗ с допустимым лимитом. При этом в общем количествово текущих запусков не учитываются запуски дочерних роботов и запуски из Студию. Если количествово текущих запусков = лимиту, система добавляет в очередь текущий запуск (Раздел "Роботы"), закрывает окно "Запуск робота" и выводит предупреждение: "Запуск робота добавлен в очередь роботов. Учетная запись занята"
- Если значения параметра работы с RDP в config-файле системы = False (Роботу требуется наличие графической сессии). система добавляет в очередь роботов текущий запуск (04 Раздел "Очередь роботов"), закрывает окно "Запуск робота" и выводит предупреждение:
- если система запускает RDP, т.к. УЗ неактивна:
"Запуск робота добавлен в очередь роботов. Учетная запись неактивна, активация RDP-сессии запрещена" - если система запускает RDP, т.к. на УЗ неактивна графическая сессия:
"Запуск робота добавлен в очередь роботов. На учетной записи неактивна графическая сессия, активация RDP-сессии запрещена"
- Если не указаны учетные данные из карточки УЗ (Роботу требуется наличие графической сессии). Система добавляет в очередь роботов текущий запуск (04 Раздел "Очередь роботов") и выводит предупреждение:
- если система запускает RDP, т.к. УЗ неактивна:
"Запуск робота добавлен в очередь роботов. Учетная запись неактивна, и в ее карточке не указаны логин и пароль для запуска RDP-сессии" - если система запускает RDP, т.к. на УЗ неактивна графическая сессия:
"Запуск робота добавлен в очередь роботов. На учетной записи неактивна графическая сессия, и в ее карточке не указаны логин и пароль для запуска RDP-сессии"
|
Запуск робота по расписанию (Условия запуска на основе расписания) |
|
Запуск робота согласно условию на основе очереди ресурсов (Условия запуска на основе очереди ресурсов) | - Система проверяет наличие учетных записей в группе машин, указанны в условии запуска по условиям. Если нет ни одиной подходящей УЗ, то система добавляет в очередь текущий запуск (Раздел "Роботы")
- Если производится запуск робота с, но на выбранной учетной записи же работает робот с такой же отметкой, то рассматриваемый запуск будет отправлен в очередь
В зависимости от значения параметра работы с RDP, указанного в config-файле системы: - Если параметр = True, выполняется след. шаг.
- Если параметр = False, система добавляет в очередь текущий запуск (Раздел "Роботы")
Из всех УЗ, которые есть в группе машин, указанной в условии запуска, система выбирает учетные записи (должны учитываться все условия для выбора подходящих УЗ): которые неактивны у которых количество текущих запусков меньше лимита (указан в config-файле системы). При этом процессы (проекты роботов), запущенные через Студию, и роботы, у которых тип инициатора - "Робот", не учитываются в общем количестве текущих запусков на УЗ у которых в карточке есть учетные данные на которых еще не была предпринята попытка выполнить текущий запуск которые не выбраны для запусков, добавленных в очередь роботов. Это те запуски, для которых не осуществляется автоматический подбор УЗ (запуск вручную или по расписанию из Оркестратора) В зависимости от результатов выбора учетных записей: - Если есть хотя бы одна УЗ, подходящая под все условия, выполняет след. шаг
- Если нет ни одной УЗ, подходящей под все условия, система добавляет в очередь текущий запуск (Раздел "Роботы")
- На учетной записи машины нельзя запускать более одного робота с отметкой, иначе они будут мешать работе друг друга. Если производится запуск робота с, но на выбранной учетной записи же работает робот с такой же отметкой, то рассматриваемый запуск будет отправлен в очередь
|
Запуск робота для процесса ROBIN Process | - Система проверяет, есть ли в очереди роботов другой запуск, для которого также необходимо подобрать учетную запись автоматически. Если запуск есть, система добавляет в очередь текущий запуск (Раздел "Роботы") и завершает сценарий на данном шаге.
- Если параметр работы с RDP (Роботу требуется наличие графической сессии), указанного в config-файле системы = False, система добавляет в очередь текущий запуск.
Система выбирает любую неактивную УЗ, у которой в карточке указаны учетные данные, а кол-во текущих запусков меньше лимита (указан в config-файле системы); при этом не учитывает те УЗ, на которых уже была предпринята попытка выполнить текущий запуск: - Если нет, система добавляет в очередь текущий запуск. Сценарий завершается на данном шаге.
|
Завершение работы робота из-за ошибки Раздел "Выполняющиеся роботы" | Возникла ошибка уже при выполнении запущенного робота |
Системе исполнения, установленной на выбранной учетной записи машины, не удалось начать запуск (к этому моменту все вышеперечисленные проверки уже пройдены успешно и запуску не мешают) | Для выбранной учетной записи необходимо поднимать RDP-сессию, но системе не удалось ее поднять. Соответственно, начать запуск не получится, и он отправляется в очередь |
Если робот завершил свою работу успешно или был остановлен пользователем, система не добавляет такой запуск в очередь.