Skip to Content

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

alt

Робот получает элементы из очереди Оркестратора в соответствии с настроенным фильтром. Результат сохраняется в переменную.

Результат фильтрации сохраняется в переменную вывода – в свойство Элемент.

Получить и сразу занять элементы

Обратите внимание, что в свойствах компонента есть параметр Занимать. Активный параметр позволяет сразу же извлечь полученные элементы из очереди. Извлекать из очереди возможно только новые элементы (статус New) – то есть те, которые еще не занял ни один робот.

Если элемент извлечен, то другие роботы не смогут взять его в работу. Данный элемент перейдет из статуса New в статус InProgress. В дальнейшем только ваш робот сможет изменить состояние извлеченного элемента или удалить его из очереди.

Использование компонента без чекбокса Занимать не изменяет статус элемента в очереди.

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

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

Свойства

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

Обязательным для заполнения является только свойство Очередь, остальные свойства настраиваются выборочно.

Вывод:

  • Элемент [List<LTools.Enterprise.Model.QueueItem>] – название переменной, в которую запишется список элементов очереди, полученных по фильтру.

Процесс:

  1. Занимать [Boolean] – определяет, требуется ли извлекать из очереди полученные элементы. Возможные значения:
    • галочка отсутствует – элементы не нужно извлекать из очереди. В этом случае статус элементов, полученных по фильтру, не изменится. Значение по умолчанию.
    • галочка установлена – будет получен список элементов, соответствующих фильтру, которые сразу извлекаются из очереди для обработки вашим роботом. Такие элементы перейдут из статуса New в InProgress и станут недоступны для обработки другими роботами.
  2. Кол-во [Int32] – определяет, какое количество элементов очереди вы хотите получить. Если не заполнено, вернется 1 элемент. Пример: 10.
  3. Логика – настраивает логику поиска элемента по тегам. Доступные значения:
    • Or – будет учитываться один и более тегов. Значение по умолчанию.
    • And – у элемента должны быть все перечисленные теги.
  4. Очередь* [String] – название очереди в Оркестраторе. Пример: "Queque1".
  5. Статус – фильтр по статусу элемента очереди. Возможные значения:
    • Any – статус элемента не важен. Значение по умолчанию.
    • New – новый элемент.
    • In progress – элемент извлечен из очереди определенным роботом, но еще не обработан.
    • Success – элемент извлечен из очереди и успешно обработан.
    • Error – элемент извлечен из очереди, но его обработка завершилась с ошибкой общего вида.
    • Business Error – элемент извлечен из очереди, но его обработка завершилась с бизнес-ошибкой.
  6. Страница [Int32] – номер страницы очереди Оркестратора, на которой находится искомый элемент. Пример: 1.
  7. Таймаут [Int32] – лимит времени операции (мс). Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. Таймаут по умолчанию составляет 5000 мс (5 секунд).
  8. Тэги [List<string>] – фильтр по тегам элемента очереди. Пример: new List<string>() { "tag1", "tag2", "tag3" }.
  9. Только свои [Boolean] – при установке галочки будут получены только те элементы, которые были добавлены в очередь с идентичной учетной записи, то есть тем же роботом.
  10. Фильтр [String] – фильтр очереди, указывается в виде регулярного выражения.
  11. Фильтр по значению [String] – фильтр по значению элемента, указывается в виде регулярного выражения. Пример: "\w+".
  12. *ID [String] - Идентификатор элемента.
  13. Удалить - Удалить после чтения.