Группа: Оркестратор

Подгруппа: Очереди ресурсов

Последняя версия: 11 (Java)


Описание

Действие выполняет поиск ресурсов по указанным условиям и возвращает все подходящие ресурсы. Если ни один нужный ресурс не найден, действие ожидает их появления в течение установленного тайм-аута.

Применение

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

  1. Откройте в веб-интерфейсе платформы раздел "Очереди ресурсов" (Оркестратор).
  2. Найдите очередь, в которой будут лежать нужные ресурсы, и запомните\скопируйте ее название.
  3. Получите ресурсы действием "Получить коллекцию ресурсов", указав в нем полученное название очереди.
  4. Используйте действие, которое сможет извлечь значение элемента коллекции. Например, действие "Совместный цикл (Foreach)".
    Все элементы этой коллекции содержат словарь.
  5. Используйте действие "Получить значение" (Коллекции - Словари), для получения значения из словаря. В зависимости от указанного ключа из этого словаря можно получить либо значение ресурса очереди, либо его метаданные (приоритет, теги и т.п.).

Изменения в версии

  • Добавлен параметр "Изменить статус".
  • Удалён параметр "Завершить обработку".

Параметры и их настройки

Свойство

Описание

Тип

Пример
заполнения

Обязательность
заполнения поля

Параметры

Очередь ресурсов

Название очереди ресурсов, в которой нужно искать ресурсы

СтрокаНомера заявок

Да

Теги

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

КоллекцияЭлементов = 2

Нет

Статус


Статус, который должны иметь ресурсы

СтрокаНовый

Да

Это поле с выпадающим списком. Содержит:

  • Новый или В работе
  • Новый
  • В работе

Мин. приоритет

Наименьшее значение приоритета, который может быть у ресурса. Вместе со значением из поля «Макс. приоритет» составляет диапазон поиска по приоритету

Число1

Нет

Макс. приоритет

Наибольшее значение приоритета, который может быть у ресурса. Вместе со значением из поля «Мин. приоритет» составляет диапазон поиска по приоритету

Число2

Нет

Мин. дата создания

Наименьшее значение даты создания ресурса. Вместе со значением из поля «Макс. дата создания» составляет диапазон поиска по дате создания

Дата-время

01.04.2026 00:00:00 +03:00

Нет

Макс. дата создания

Наибольшее значение даты создания ресурса. Вместе со значением из поля «Мин. дата создания» составляет диапазон поиска по дате создания

Дата-время

03.04.2026 00:00:00 +03:00

Нет

Мин. дата обновления

Наименьшее значение даты последнего обновления ресурса. Вместе со значением из поля «Макс. дата обновления» составляет диапазон поиска по дате обновления

Дата-время

01.04.2026 00:00:00 +03:00

Нет

Макс. дата обновления

Наибольшее значение даты последнего обновления ресурса. Вместе со значением из поля «Мин. дата обновления» составляет диапазон поиска по дате обновления

Дата-время

03.04.2026 00:00:00 +03:00

Нет

Тип сортировки


Тип сортировки найденных ресурсов. Действие сортирует найденные ресурсы перед записью в результирующую коллекцию

Строка

 По увеличению приоритета

Нет


Это поле с выпадающим списком. Содержит:

  • По увеличению приоритета
  • По уменьшению приоритета
  • По увеличению даты создания
  • По уменьшению даты создания
  • По увеличению даты обновления
  • По уменьшению даты обновления

Запретить чтение

Если значение "true", действие заблокирует найденные ресурсы на чтение и скроет их в очереди. Другие роботы не смогут найти скрытые ресурсы при поиске по условию

ЛогическийИстина

Нет

Запретить запись

Если значение "true", действие заблокирует найденные ресурсы на запись для других роботов

Логический

 Ложь

Нет

Количество ресурсов

Количество ресурсов, которое должно вернуть действие. Учитывается вместе с параметром "Правило количества"

Число3

Да

Правило количества


Правило, указывающее, как интерпретировать значение из поля "Количество ресурсов". Если выбрано "Все", действие игнорирует указанное количество ресурсов, и возвращает все подходящие ресурсы

Строка


Строго указанное количество

Да


Это поле с выпадающим списком. Содержит:

  • Не больше чем
  • Строго указанное количество
  • Все

Изменить статус


У всех полученных ресурсов текущий статус будет изменен на выбранное значение. Если выбран вариант "Не менять статус", то текущий статус останется прежним. Значение по умолчанию: "В работе"

Строка

Обработан

Нет


Это поле с выпадающим списком. Содержит:

  • Новый
  • В работе
  • Обработан
  • Ошибка
  • Не менять статус

Тайм-аут, мс


Время ожидания появления в очереди нужного количества ресурсов, подходящих под условия поиска. Если указано "-1", действие будет ждать бесконечно долго. Задается в миллисекундах

Число 10000

Нет


Результаты

Результат

Коллекция, в которой каждый элемент - это словарь с данными одного из найденных ресурсов: значение (ключ "Value"), идентификатор (ключ "Id"), теги (ключ "Tags"), статус (ключ "Status"), приоритет (ключ "Priority"), дата создания (ключ "CreationDate") и дата обновления (ключ "UpdateDate")

Коллекция


Особые условия использования

(n - значение из параметра "Количество ресурсов")

  • Искомый ресурс должен удовлетворять всем указанным параметрам поиска.
  • Количество ресурсов, которое необходимо вернуть, учитывается так:
    • Если в "Правило количества" выбрано "Не больше чем", действие вернет результат сразу, как только найдет хотя бы один подходящий ресурс, т.е. до окончания времени тайм-аута. При этом, если в очереди есть более n подходящих ресурсов, действие вернет строго n ресурсов. Если же в очереди меньше n нужных ресурсов, действие вернет все эти ресурсы.
    • Если в "Правило количества" выбрано "Строго указанное количество", действие вернет результат только тогда, когда в очереди появиться n подходящих ресурсов. При этом, действие вернет строго n ресурсов, даже если в очереди больше подходящих ресурсов.
    • Если в "Правило количества" выбрано "Все", действие вернет результат сразу, если найдет хотя бы один подходящий ресурс, т.е. до окончания времени тайм-аута. Но это не значит, что действие вернет только один ресурс - оно выберет все подходящие ресурсы и сразу их вернет, не дожидаясь возможного появления дополнительных ресурсов в течение всего тайм-аута. При этом параметр "Количество ресурсов" будет проигнорирован.
  • Если параметр "Запретить запись" включен, то при поиске игнорируются ресурсы, которые уже заблокированы на запись.
  • Действие сначала ищет ресурсы, соответствующие указанным условиям поиска. Затем сортирует найденные ресурсы в том порядке, который выбран в параметре "Тип сортировки". Отсортированный список ресурсов записывает в коллекцию и возвращает ее роботу.

Ошибки при работе действия

СобытиеОписание ошибки в логе
Закончилось время ожидания ресурсов: нет нужного количества ресурсов или нет ресурсов, соответствующих условиям поиска... возникло Robin.Exception.TimeExceeded
Не найдена указанная очередь ресурсовУказанная очередь ресурсов не найдена
Если в параметре "Мин. приоритет" или "Макс. приоритет" указали значение меньше 0Приоритет ресурса не может быть отрицательным числом
Если в параметре "Количество ресурсов" указали значение меньше 0Количество ресурсов не может быть отрицательным числом

Версии

  • Нет меток