Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Очередь роботов

В разделе доступны причины, из-за которых запуск робота был отправлен в очередь роботов.

При попытке запуска робота (любым способом) система может отправить этот запуск в очередь роботов.   

Очередь роботов - это список неудачных запусков роботов (их не удалось начать или прервались из-за ошибки), которые система автоматически попытается выполнить еще раз в порядке попадания запусков в этот список.

Количество запусков не равно количеству роботов. Можно запустить несколько раз одного и того же робота - при этом это будут разные запуски.

Интерфейс раздела Очереди роботов доступен в разделе Оркестратор:

Описание таблицы Очереди роботов

Таблица содержит список роботов, которые не запущены в данный момент.

В таблице отображаются: 

  • Название и версия робота, а также необходимость графической сессии для работы
  • Время, когда незапущенный робот был добавлен в очередь роботов
  • Способ запуска робота
  • Инициатор запуска
  • Машина, на учетной записи которой запущен робот
  • Учетная запись, на которой запущен робот
  • Количество попыток запуска робота

Описание столбцов и кнопок таблицы

Название столбца/кнопки

Описание

Столбец "Робот"
  • Название робота
  • Версия робота
  • Индикатор, отображающий необходимость наличия графической сессии для работы робота. Если отображается , значит, графическая сессия необходима, если  - не нужна
Столбец "Добавлен в очередь"Дата, когда робот был добавлен в очередь
Столбец "Способ запуска"

Вариант запуска робота:

  • Ручной запуск - робот запущен пользователем. Рядом с фразой в столбце отображается название приложения, через которое запустили робота: "Robin Studio", "Robin Player" или "Оркестратор"
  • Условие запуска (Очередь ресурсов) - робот запущен по условию на основе очереди ресурсов
  • Условие запуска (Расписание) - робот запущен по условию на основе расписания, которое настроено через Оркестратор
  • Процесс - робот запущен в рамках выполнения процесса ЦС
  • Робот - робот запущен другим роботом 
Столбец "Инициатор"

Вариант записи инициатора зависит от способа запуска робота:

  • Вручную - отображается ФИО пользователя, который запустил робота
  • Условие запуска (Очередь ресурсов) - отображается название этого условия. Название условия - это ссылка на его карточку, которая открывается в режиме "для чтения" (есть возможность сразу ее изменить). При нажатии карточка не открывается, если:
    • Условие запуска не найдено в базе. Появляется предупреждение: "Ошибка при работе с условием запуска. Условие запуска не найдено"
    • Условие запуска не найдено или недоступно пользователю в текущем тенанте. Появляется предупреждение: "Работа с условием запуска запрещена. Недостаточно прав для работы с условием запуска "Название условия""
  • Условие запуска (Расписание) - требования аналогичны требованиям для инициатора "Условие запуска (Очередь ресурсов)"
  • Процесс - отображается название этого процесса
  • Робот - отображается:
    • Название робота
    • Версия робота. Если у робота нет версии, в таблице будет указано "0.0.0"
    • Индикатор, отображающая необходимость наличия графической сессии для работы робота: - необходима, - не нужна
Столбец "Машина"Название и IP-адрес машины, на учетной записи которой запущен робот
Столбец "Учётная запись"Учетная запись машины, на которой запущен робот

Попытки

Количество попыток запуска робота

Кнопка 

По нажатию происходит обновление записей в таблице

Параметры, влияющие на работу очереди роботов

Параметры, влияющие на работу очереди роботовНаименования и обозначения параметровГде устанавливается
Параметры очереди роботов
 

Текущее количество совершенных попыток перезапуска = r

Время ожидания между перезапусками = t

Оба параметра настраиваются в config-файле системы

Лимит выполняющихся запусков

Устанавливается в конфигурационном файле системы при ее развертывании. Параметр общий для всех машин, т.е. нельзя настроить разные лимиты для разных машин. При этом процессы (проекты роботов), запущенные через ROBIN Studio, не учитываются в общем количестве текущих запусков

Максимальное количество перезапусков. Некоторые запуски могут попадать в очередь бесконечно, например, если проблема в самом роботе, и требуется его изменение через ROBIN Studio. Чтобы очередь не была забита такими запусками, после попадания запуска в очередь система попытается его повторно выполнить только установленное количество раз

Когда количество выполненных попыток станет = числу, установленному в конфигурационном файле, система удаляет этот запуск из очереди и далее его не контролирует

Устанавливается в конфигурационном файле

Тайм-аут. Это время, которое должно пройти с момента попадания запуска в очередь (в первый раз или при неудачной попытке перезапуска), прежде чем система попытается еще раз выполнить этот запуск

Пример работы этого параметра:

  1. Робот упал в ошибку, и система отправила этот запуск в очередь
  2. Возникает событие, при котором система повторяет запуски в очереди
  3. С момента попадания запуска в очередь еще не прошло время равное значению из конфигурационного файла. Поэтому система пропускает этот запуск, оставляя его в очереди
  4. Количество выполненных перезапусков для этого запуска остается неизменным
  5. Спустя какое-то время снова возникает событие, запускающее проверку очереди
  6. С момента попадания запуска в очередь уже прошло время равное значению из конфигурационного файла. В этот раз система не пропускает этот запуск и пытается начать его выполнение
  7. Вне зависимости от результата (удалось начать запуск или нет), количество выполненных перезапусков для этого запуска увеличивается на 1
Устанавливается в конфигурационном файле
Параметры условий запуска на основе очереди ресурсов

Количество ресурсов для первого запуска = N

Количество экземпляров робота = D

Количество ресурсов для дополнительных запусков = M

Количество экземпляров робота, которые должны выполняться в данный момент с учетом текущего кол-ва ресурсов очереди = L

Текущее количество выполняющихся экземпляров робота = n

Все параметры, кроме L и n, настраиваются в карточке условия запуска

Добавление запуска в очередь

События, при которых система пытается еще раз повторить запуски, попавшие в очередь:

  • Какой-либо выполняющийся робот завершил свою работу, т.е. на одной из учетных записей машин освободилось место для еще одного запуска
  • В карточке учетной записи машины добавили или обновили учетные данные
  • Одна из учетных записей машин стала активной, и при этом количество выполняющихся на ней запусков не > установленного лимита запусков

Причины, из-за которых запуск робота будет отправлен в очередь

Запуск робота будет отправлен в очередь, если его не удалось запустить, в зависимости от условий запуска:

Вид запускаПричина отправки робота в очередь
Запуск робота вручную Раздел "Роботы"
  • Система проверяет, есть ли в очереди роботов другой запуск, который также должен произойти на выбранной УЗ:
    • Если запуск есть, система добавляет в очередь текущий запуск (Раздел "Роботы"), закрывает окно "Запустить робота" и выводит предупреждение: "Запуск робота добавлен в очередь роботов. Учетная запись занята"

  • Система проверяет, работает ли сейчас на выбранной УЗ Ui-робот (этот же или любой другой). Если работает, система добавляет в очередь текущий запуск (Раздел "Роботы"), закрывает окно "Запустить робота" и выводит предупреждение: "Запуск робота добавлен в очередь роботов. На учетной записи уже работает UI-робот, запустить более одного UI-робота нельзя"
  • Система сравнивает кол-во текущих запусков роботов на выбранной УЗ с допустимым лимитом. При этом в общем количествово текущих запусков не учитываются запуски дочерних роботов и запуски из Студию. Если количествово текущих запусков = лимиту, система добавляет в очередь текущий запуск (Раздел "Роботы"), закрывает окно "Запуск робота" и выводит предупреждение: "Запуск робота добавлен в очередь роботов. Учетная запись занята"
  • Если значения параметра работы с RDP в config-файле системы = False (Роботу требуется наличие графической сессии). система добавляет в очередь роботов текущий запуск (04 Раздел "Очередь роботов"), закрывает окно "Запуск робота" и выводит предупреждение:
    • если система запускает RDP, т.к. УЗ неактивна:
      "Запуск робота добавлен в очередь роботов. Учетная запись неактивна, активация RDP-сессии запрещена"
    • если система запускает RDP, т.к. на УЗ неактивна графическая сессия:
      "Запуск робота добавлен в очередь роботов. На учетной записи неактивна графическая сессия, активация RDP-сессии запрещена"
  • Если не указаны учетные данные из карточки УЗ (Роботу требуется наличие графической сессии). Система добавляет в очередь роботов текущий запуск (04 Раздел "Очередь роботов") и выводит предупреждение:
    • если система запускает RDP, т.к. УЗ неактивна:
      "Запуск робота добавлен в очередь роботов. Учетная запись неактивна, и в ее карточке не указаны логин и пароль для запуска RDP-сессии"
    • если система запускает RDP, т.к. на УЗ неактивна графическая сессия:
       "Запуск робота добавлен в очередь роботов. На учетной записи неактивна графическая сессия, и в ее карточке не указаны логин и пароль для запуска RDP-сессии"
Запуск робота согласно условию на основе очереди ресурсов (Условия запуска на основе очереди ресурсов)
  • Система проверяет наличие учетных записей в группе машин, указанны в условии запуска по условиям. Если нет ни одиной подходящей УЗ, то система добавляет в очередь текущий запуск (Раздел "Роботы")
  • Если производится запуск робота с, но на выбранной учетной записи же работает робот с такой же отметкой, то рассматриваемый запуск будет отправлен в очередь
  1. В зависимости от значения параметра работы с RDP, указанного в config-файле системы:

    1. Если параметр = True, выполняется след. шаг.
    2. Если параметр = False, система добавляет в очередь текущий запуск (Раздел "Роботы")
  2. Из всех УЗ, которые есть в группе машин, указанной в условии запуска, система выбирает учетные записи (должны учитываться все условия для выбора подходящих УЗ):

    1. которые неактивны

    2. у которых количество текущих запусков меньше лимита (указан в config-файле системы). При этом процессы (проекты роботов), запущенные через Студию, и роботы, у которых тип инициатора - "Робот", не учитываются в общем количестве текущих запусков на УЗ

    3. у которых в карточке есть учетные данные

    4. на которых еще не была предпринята попытка выполнить текущий запуск

    5. которые не выбраны для запусков, добавленных в очередь роботов. Это те запуски, для которых не осуществляется автоматический подбор УЗ (запуск вручную или по расписанию из Оркестратора)
      В зависимости от результатов выбора учетных записей:

      1. Если есть хотя бы одна УЗ, подходящая под все условия, выполняет след. шаг
      2. Если нет ни одной УЗ, подходящей под все условия, система добавляет в очередь текущий запуск (Раздел "Роботы")
  3. На учетной записи машины нельзя запускать более одного робота с отметкой, иначе они будут мешать работе друг друга. Если производится запуск робота с, но на выбранной учетной записи же работает робот с такой же отметкой, то рассматриваемый запуск будет отправлен в очередь

Запуск робота для процесса ROBIN Process

  1. Система проверяет, есть ли в очереди роботов другой запуск, для которого также необходимо подобрать учетную запись автоматически. Если запуск есть, система добавляет в очередь текущий запуск (Раздел "Роботы") и завершает сценарий на данном шаге.
  2. Если параметр работы с RDP (Роботу требуется наличие графической сессии), указанного в config-файле системы = False, система добавляет в очередь текущий запуск.
  3. Система выбирает любую неактивную УЗ, у которой в карточке указаны учетные данные, а кол-во текущих запусков меньше лимита (указан в config-файле системы); при этом не учитывает те УЗ, на которых уже была предпринята попытка выполнить текущий запуск:

    1. Если нет, система добавляет в очередь текущий запуск. Сценарий завершается на данном шаге.
Завершение работы робота из-за ошибки Раздел "Выполняющиеся роботы"

Возникла ошибка уже при выполнении запущенного робота

Системе исполнения, установленной на выбранной учетной записи машины, не удалось начать запуск (к этому моменту все вышеперечисленные проверки уже пройдены успешно и запуску не мешают)

Для выбранной учетной записи необходимо поднимать RDP-сессию, но системе не удалось ее поднять. Соответственно, начать запуск не получится, и он отправляется в очередь

Если робот завершил свою работу успешно или был остановлен пользователем, система не добавляет такой запуск в очередь.

  • Нет меток