Получить из очереди по ID
Eng: Peek queue by ID
Робот получает элемент по указанному идентификатору (ID) из очереди обмена данными Оркестратора. Полученный элемент сохраняется в переменную. Переменная может быть разных типов — строка, объект или DataTable. Выбор переменной осуществляется на ваше усмотрение.
В контексте работы данного компонента существует разница между «получением» и «извлечением» элемента из очереди:
- При получении элемента его статус не изменится. Другие роботы могут брать элемент в обработку.
- При извлечении – только ваш робот будет иметь право менять статус элемента или удалять элемент из очереди. Другие роботы не смогут взять этот элемент в обработку или удалить.
Чтобы робот не просто получил, а извлек элемент из очереди, включите в свойствах компонента параметр Занимать. Учтите, что робот может извлекать только элементы в статусе New.
Перед началом работы
- Установите подключение к Оркестратору
- Элемент должен существовать в указанной очереди
Свойства
Обязательные для заполнения свойства отмечены символом *
. Описание общих свойств см. в разделе Свойства элемента.
Свойство | Тип | Описание | Пример |
---|---|---|---|
Процесс: | |||
Очередь* | String | Название очереди в Оркестраторе, чувствительно к регистру | "Queue_name" |
ID* | Guid | Уникальный идентификатор элемента очереди Оркестратора, указывается в виде переменной | |
Таймаут | Int32 | Лимит времени операции (мс). Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. По умолчанию таймаут составляет 30000 (30 секунд) | |
Занимать | Boolean | Определяет, должен ли робот немедленно извлечь элемент из очереди. По умолчанию свойство НЕАКТИВНО. Если свойство включено, то в ответе вернутся только те элементы, которые можно извлечь | |
Вывод: | |||
Элемент | LTools.Enterprise.Model.QueueItem | Переменная для хранения элемента очереди в виде объекта | |
Таблица | DataTable | Переменная для хранения полученных данных в табличном виде | |
Результат | String | Переменная для хранения полученных данных в строковом виде |
Только код
Ниже приведен пример использования элемента в процессе с типом Только код (Pure code):
C#
object ret = LTools.Enterprise.OrchestratorApp.PeekQueueById(wf,
"queue", id, false);
Дополнительно
- Изменить статус в очереди — присваивает элементу финальный статус обработки.
- Удалить из очереди — удаляет элемент из очереди.