Группа действий: Оркестратор Подгруппа Очереди ресурсов
Действие выполняет поиск ресурсов по указанным условиям и возвращает все подходящие ресурсы. Если ни один нужный ресурс не найден, действие ожидает их появления в течение установленного тайм-аута.
Поиск ресурса будет происходить по следующим правилам:
Свойство | Описание | Тип | Обязательность заполнения поля | Значение по умолчанию | Пример заполнения | Примечание |
Входные параметры | ||||||
Очередь ресурсов | Название очереди ресурсов, в которой нужно искать ресурсы | Robin.String | Да | |||
Теги | Коллекция строк, в которой каждый элемент - это отдельный тег ресурса. Поиск будет среди тех ресурсов, у которых есть хотя бы один из перечисленных тегов | Robin.Collection | Нет | |||
Статус | Статус, который должны иметь ресурсы | Robin.String | Да | Новый или В работе | Поле с выпадающим списком значений:
| |
Мин. приоритет | Наименьшее значение приоритета, который может быть у ресурса. Вместе со значением из поля «Макс. приоритет» составляет диапазон поиска по приоритету | Robin.Numeric | Нет | |||
Макс. приоритет | Наибольшее значение приоритета, который может быть у ресурса. Вместе со значением из поля «Мин. приоритет» составляет диапазон поиска по приоритету | Robin.Numeric | Нет | |||
Мин. дата создания | Наименьшее значение даты создания ресурса. Вместе со значением из поля «Макс. дата создания» составляет диапазон поиска по дате создания | Robin.DateTime | Нет | |||
Макс. дата создания | Наибольшее значение даты создания ресурса. Вместе со значением из поля «Мин. дата создания» составляет диапазон поиска по дате создания | Robin.DateTime | Нет | |||
Мин. дата обновления | Наименьшее значение даты последнего обновления ресурса. Вместе со значением из поля «Макс. дата создания» составляет диапазон поиска по дате обновления | Robin.DateTime | Нет | |||
Макс. дата обновления | Наибольшее значение даты последнего обновления ресурса. Вместе со значением из поля «Мин. дата создания» составляет диапазон поиска по дате обновления | Robin.DateTime | Нет | |||
Тип сортировки | Тип сортировки найденных ресурсов. Действие сортирует найденные ресурсы перед записью в результирующую коллекцию | Robin.String | Нет | По уменьшению приоритета | Это поле в виде выпадающего списка со значениями:
Если выбрано значение "без сортировки", найденные ресурсы будут записаны в результирующую коллекцию в том же порядке, в каком они были найдены При выборе конкретного типа сортировки, сначала будут найдены все ресурса, соответствующие указанным условиям поиска. Затем эти ресурсы будут отсортированы с учетом выбранного типа сортировки, и в таком же порядке будут записаны в коллекцию, которая будет возвращена роботу Выбранный тип сортировки по приоритету, дате создания или дате обновления не учитывается, если во входных параметрах действия было указано конкретное значение приоритета, даты создания или даты обновления, соответственно | |
Запретить чтение | Если значение "true", действие заблокирует найденные ресурсы на чтение и скроет их в очереди. Другие роботы не смогут найти скрытые ресурсы при поиске по условию | Robin.Boolean | Нет | False | ||
Запретить запись | Если значение "true", действие заблокирует найденные ресурсы на запись для других роботов | Robin.Boolean | Нет | False | Если значение параметра = true, т.е. нужно будет блокировать ресурсы, действие будет искать только среди ресурсов, которые не имеют блокировки на запись, даже если они подходят под указанные условия поиска. Реализован такой вариант, чтобы не "зависать" на заблокированных ресурсах, когда в очереди могут быть другие "свободные" ресурсы Если блокировать на запись не надо, действие ищет в том числе и среди ресурсов, которые имеют блокировку на запись | |
Завершить обработку | Если значение "true", действие получит значение и параметры ресурсов, а затем изменит их статус на "Обработан". С этим статусом ресурсы будут скрыты для роботов, даже при поиске по их идентификатору | Robin.Boolean | Нет | False | Со стороны роботов такой статус у ресурсов будет словно удаление ресурсов, т.к. они больше не смогут найти эти ресурсы. Причем не найдет даже тот робот, который сам же и выполнил это действие. Однако ресурсы до сих пор будут в очереди, их сможет найти пользователь вручную через интерфейс Оркестратора (06 Раздел "Очереди ресурсов") | |
Количество ресурсов | Количество ресурсов, которое должно вернуть действие. Учитывается вместе с параметром "Правило количества" | Robin.Numeric | Да | 0 | ||
Правило количества | Правило, указывающее, как интерпретировать значение из поля "Количество ресурсов". Если выбрано "Все", действие игнорирует указанное количество ресурсов, и возвращает все подходящие ресурсы | Robin.String | Да | Не больше чем | Выпадающий список со значениями:
| |
Тайм-аут, мс | Время ожидания появления в очереди нужного количества ресурсов, подходящих под условия поиска. Если указано "-1", действие будет ждать бесконечно долго. Задается в миллисекундах | Robin.Numeric | Нет | 0 | Тайм-аут здесь - это время на поиск n-го кол-ва элементов, подходящих под условия Если в "Правило количества" выбрано "Все", действие не будет ожидать в течение всего тайм-аута, а вернет результат сразу, как только найдет хотя бы один подходящий ресурс. Но это не значит, что действие вернет только один ресурс - оно выберет все подходящие ресурсы и сразу их вернет, не дожидаясь возможного появления дополнительных ресурсов | |
Выходные параметры | ||||||
Результат | Коллекция, в которой каждый элемент - это словарь с данными одного из найденных ресурсов: значение (ключ "Value"), идентификатор (ключ "Id"), теги (ключ "Tags"), статус (ключ "Status"), приоритет (ключ "Priority"), дата создания (ключ "CreationDate") и дата обновления (ключ "UpdateDate") |
Cуществует процесс, где имеется очередь с ресурсами, необходимо получить не больше 5 ресурсов со статусом "Новый", а также узнать дату создания 2-ого по счета ресурса из коллекции.
Воспользоваться действиями "Получить коллекцию ресурсов", "Получить значение по индексу", "Получить значение", "Сообщение в лог".
Ресурсы очереди могут быть заблокированы роботом (на чтение и\или запись).
Программный робот отработал успешно.
Была получена коллекция, из которой был выбран 2-ой ресурс со статусом "Новый", а также была выведена в лог дата создания данного ресурса.