Skip to Content

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

Eng: Peek queue by ID

alt

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

Существует разница между «получением» элемента и его «извлечением» из очереди. При получении элемента его статус не меняется. При извлечении – другие роботы больше не смогут взять ваш элемент в работу. Только ваш робот будет иметь право изменять состояние извлеченного элемента или удалять его из очереди. Чтобы робот не просто получил, а извлек элемент из очереди, установите в свойствах компонента чекбокс Занимать. Извлекать возможно только элементы в статусе New.

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

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

Свойства

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

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

Только код

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

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

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