Skip to Content

Получить из очереди по ID

Eng: Peek queue by ID

alt

Робот получает элемент по указанному идентификатору (ID) из очереди обмена данными Оркестратора. Полученный элемент сохраняется в переменную. Переменная может быть разных типов — строка, объект или DataTable. Выбор переменной осуществляется на ваше усмотрение.

В контексте работы данного компонента существует разница между «получением» и «извлечением» элемента из очереди:

  • При получении элемента его статус не изменится. Другие роботы могут брать элемент в обработку.
  • При извлечении – только ваш робот будет иметь право менять статус элемента или удалять элемент из очереди. Другие роботы не смогут взять этот элемент в обработку или удалить.

Чтобы робот не просто получил, а извлек элемент из очереди, включите в свойствах компонента параметр Занимать. Учтите, что робот может извлекать только элементы в статусе New.

Перед началом работы

  • Установите подключение к Оркестратору
  • Элемент должен существовать в указанной очереди

Свойства

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

СвойствоТипОписаниеПример
Процесс:
Очередь*StringНазвание очереди в Оркестраторе, чувствительно к регистру"Queue_name"
ID*GuidУникальный идентификатор элемента очереди Оркестратора, указывается в виде переменной
ТаймаутInt32Лимит времени операции (мс). Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. По умолчанию таймаут составляет 30000 (30 секунд)
ЗаниматьBooleanОпределяет, должен ли робот немедленно извлечь элемент из очереди. По умолчанию свойство НЕАКТИВНО. Если свойство включено, то в ответе вернутся только те элементы, которые можно извлечь
Вывод:
ЭлементLTools.Enterprise.Model.QueueItemПеременная для хранения элемента очереди в виде объекта
ТаблицаDataTableПеременная для хранения полученных данных в табличном виде
РезультатStringПеременная для хранения полученных данных в строковом виде

Только код

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

object ret = LTools.Enterprise.OrchestratorApp.PeekQueueById(wf, "queue", id, false);

Дополнительно