Skip to Content

Изменить статус в очереди

Eng: Change queue item state

Компонент позволяет изменить статус элемента в очереди обмена данных Оркестратора. Выбранный статус будет обозначать результат обработки элемента роботом. Например, присвоение статуса Success будет означать, что обработка элемента прошла успешно.

alt

Предварительные условия

  • Подключение к Оркестратору.
  • Элемент, статус которого вы хотите изменить, должен быть в состоянии InProgress – извлечен из очереди.

Жизненный цикл элемента очереди

alt

Статусы элемента:

  • New – элемент добавлен в очередь, но еще не извлечен ни одним роботом.
  • InProgress – робот извлек элемент из очереди (=занял). Другой робот не сможет обратиться к этому элементу.
  • Success – обработка элемента завершена успешно, ошибок не обнаружено.
  • Error – обработка элемента завершена с ошибкой общего вида. Например, робот не смог нажать определенную кнопку.
  • Business Error – обработка элемента завершена с ошибкой в бизнес-логике.

В истории статусов в БД фиксируются только финальные статусы – Success, Error, Business Error. Статусы New и InProgress являются логическими и вычисляются системой по косвенным признакам.

Как перевести элемент в InProgress

Изменить статус элемента возможно, только если элемент уже находится в статусе InProgress (извлечен роботом из очереди). Если элемент находится в статусе New, изменить его состояние не получится.

Чтобы извлечь элемент из очереди, используйте один из следующих компонентов:

Свойства

Обязательные для заполнения свойства отмечены символом *. Описание общих свойств см. в разделе Свойства элемента.

  1. ID* [Guid] – автоматический идентификатор элемента очереди, указывается в виде переменной. Идентификатор можно получить при чтении элемента и затем сохранить в переменную.

  2. Очередь* [String] – название очереди Оркестратора, в которой находится элемент. Значение чувствительно к регистру. Пример: "Queue_name".

  3. Статус – состояние обработки элемента. Выберите нужное значение в выпадающем списке: Success / Error / Business Error.

  4. Таймаут [Int32] – лимит времени операции в миллисекундах. Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. По умолчанию установлено 3000 (30 секунд).

  5. Текст [String] – комментарий RPA-разработчика к изменению статуса. Пример: "Дополнительная информация от RPA-разработчика".

Только код

Пример использования элемента в процессе с типом Только код (Pure code):

LTools.Enterprise.OrchestratorApp.ChangeQueueItemState(wf, "queue", id, LTools.Enums.ExchangeQueueValueEventType.Success, "txt");