Получить из очереди по фильтру
Peek queue by filter
Компонент позволяет получить элементы из очереди Оркестратора в соответствии с настроенным фильтром. Для успешной работы Студия должна быть подключена к Оркестратору.
Как производится получение по фильтру:
Первичная фильтрация. Осуществляется на стороне Оркестратора – элементы очереди фильтруются по всем указанным свойствам, кроме Фильтра по значению.
Вторичная – происходит на стороне робота. Робот получает от Оркестратора элементы после первичной фильтрации и фильтрует их по свойству Фильтр по значению.
Результат сохраняется в переменную вывода – в свойство Элемент.
Получить и сразу занять элементы
Обратите внимание, что в свойствах компонента есть чекбокс Занимать. Установка чекбокса позволяет не только получить элементы по фильтру, но и извлечь их из очереди при условии, что они находятся в статусе New. При извлечении элемента (-ов) другие роботы не смогут брать их в работу. Такие элементы переходят из статуса New в статус InProgress.
Только ваш робот сможет изменять состояние извлеченного элемента или удалить его из очереди. Подробнее о статусах элемента см. здесь.
«Получение» элемента (без чекбокса Занимать) не влияет на статус элемента.
Свойства
Описание общих свойств элемента см. в разделе Свойства элемента.
🔸 Обязательным для заполнения является только свойство Очередь – остальные фильтры настраиваются выборочно.
Свойство | Тип | Описание | Пример |
---|---|---|---|
Процесс: | |||
Очередь* | String | Название очереди в Оркестраторе |
|
ID | String | Натуральный ключ элемента очереди (не путать с ID). То же самое, что поле Key в модели QueueItem |
|
Фильтр | String | Фильтр по метаданным в виде регулярного выражения для SQL. Обратите внимание, что если Оркестратор установлен с MS SQL SERVER, то необходимо использовать шаблоны с оператором LIKE (но без указания оператора, только шаблон). Если Оркестратор установлен с PostgreSQL, то доступны функции Regexp |
|
Фильтр по значению | String | Фильтр по значению в виде регулярного выражения |
|
Тэги | List<string> | Фильтр по тегам элемента очереди |
|
Логика | - | Настраивает логику поиска элемента по тегам. Доступные значения: 1. 2. |
|
Статус | - | Фильтр по статусу элемента очереди. Выберите нужный из выпадающего списка |
|
Занимать | Boolean | По умолчанию флаг НЕАКТИВЕН. Определяет, нужно ли занимать отфильтрованные элементы. Если установлен, то в ответе вернутся лишь те значения, которые можно занять – т.е. изъять из очереди, чтобы далее с ними работал только ваш робот | |
Страница | Int32 | Номер страницы очереди Оркестратора, на которой находится искомый элемент |
|
Кол-во | Int32 | Определяет, сколько элементов очереди нужно получить. Если не заполнено, вернется только 1 |
|
Только свои | Boolean | При установке чекбокса будут получены только те элементы, которые были добавлены в очередь с идентичной учетной записи, то есть тем же роботом | |
Игнорировать спецполя | Boolean | Определяет, нужно ли включать в выборку отсроченные, просроченные и удаленные элементы. По умолчанию такие элементы игнорируются | |
Таймаут | Int32 | Лимит времени операции (мс). Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой |
|
Вывод: | |||
Элемент | Название переменной, в которую запишется список элементов очереди, полученных по фильтру |
Только код
Ниже приведен пример использования элемента в процессе с типом Только код (Pure code):
Дополнительно
Изменить статус в очереди — присваивает элементу финальный статус обработки.
Удалить из очереди — удаляет элемент из очереди.
Last updated