Skip to Content

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

Eng: Change queue item state

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

alt

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

  • Подключение к Orchestrator
  • Элемент, статус которого вы хотите изменить, должен быть в состоянии 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. С версии 1.24.8 таймаут по умолчанию составляет 30000 мс (30 секунд).

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

Только код

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

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