Skip to Content

Ожидать сообщения из очереди

Eng: Wait queue

alt

Компонент ожидает появление нового элемента в очереди обмена данных. При появлении элемента, робот извлечет его из очереди Оркестратора и сохранит в переменную. Извлеченный элемент перейдет из состояния New в InProgress. Это означает, что он будет доступен роботу для дальнейшей обработки в рамках сценария автоматизации.

Типы возвращаемых данных:

  • Объект QueueItem (полная метаинформация)
  • DataTable (табличное представление)
  • String (сериализованные данные)

Если во время выполнения компонента очередь окажется пустой, то робот будет опрашивать очередь в течение времени, заданного в свойстве Time. Это отличает данный компонент от других способов извлечения элемента, например, от компонента Получить из очереди.

Свойства

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

Переменная, в которую будет записан элемент, может быть в виде объекта, таблицы или строки. Тип данных переменной определяется только вашим выбором.

СвойствоТипОписание
Процесс:
Очередь*StringНазвание очереди в Оркестраторе. Пример: "PrimoTestQueue"
Период*Int32Период опроса очереди в миллисекундах. По умолчанию 1000. *С версии 1.24.8 таймаут по умолчанию составляет 30000 мс.(30 секунд). Свойство переименовано TimeПериод
Вывод:
ТаблицаDataTableНазвание переменной, которая будет хранить полученный элемент очереди в виде таблицы
РезультатStringНазвание переменной, которая будет хранить полученный элемент очереди в виде строки
ЭлементLTools.Enterprise.Model.QueueItemНазвание переменной, которая будет хранить полученный элемент очереди в виде объекта

Только код

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

//Свойства элемента: //wf: [LTools.Common.Model.WorkflowData] ссылка на вызывающий алгоритм //queue - Очередь: [String] Имя очереди //robot - Статус элемента object ret = LTools.Enterprise.OrchestratorApp.PeekQueue(wf, "PrimoTestQueue", LTools.Enterprise.Model.QueueItemStates.Any); //Вывод в лог LTools.Workflow.PrimoApp.AddToLog(wf, "Полученное значение из очереди - " + ret.ToString(), LTools.Enums.LogMessageType.Info);

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