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

Change queue item state

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

Начальные условия

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

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

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

  • New – элемент добавлен в очередь, но еще не извлечен ни одним роботом.

  • InProgress – робот извлек элемент из очереди (=занял). Другой робот не может обратиться к этому элементу.

  • Success – обработка элемента завершена успешно, ошибок не обнаружено.

  • Error – обработка элемента завершена с ошибкой общего вида. Например, робот не смог нажать определенную кнопку.

  • Business Error – обработка элемента завершена с ошибкой в бизнес-логике.

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

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

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

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

Свойства

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

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

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

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

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

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

Только код

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

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

Last updated