Получить ресурс по условию Версия 7 (Java)
Группа действий: Оркестратор Подгруппа Очередь ресурсов
Описание
Действие выполняет поиск ресурсов по указанным условиям и возвращает первый подходящий ресурс. Если нужный ресурс не найден, действие ожидает его появления в течение установленного тайм-аута
Иконка действия
Очередь ресурсов Название очереди ресурсов, в которой нужно искать ресурс.
Теги Коллекция строк, в которой каждый элемент - это отдельный тег ресурса. Поиск будет среди тех ресурсов, у которых есть хотя бы один из перечисленных тегов.
Статус Статус, который должен иметь ресурс.
Поле с выпадающим списком значений:
- Новый или В работе
- Новый
- В работе
Мин. приоритет Наименьшее значение приоритета, который может быть у ресурса. Вместе со значением из поля «Макс. приоритет» составляет диапазон поиска по приоритету.
Макс. приоритет Наибольшее значение приоритета, который может быть у ресурса. Вместе со значением из поля «Мин. приоритет» составляет диапазон поиска по приоритету.
Мин. дата создания Наименьшее значение даты создания ресурса. Вместе со значением из поля «Макс. дата создания» составляет диапазон поиска по дате создания.
Макс. дата создания Наибольшее значение даты создания ресурса. Вместе со значением из поля «Мин. дата создания» составляет диапазон поиска по дате создания.
Мин. дата обновления Наименьшее значение даты последнего обновления ресурса. Вместе со значением из поля «Макс. дата создания» составляет диапазон поиска по дате обновления.
Макс. дата обновления Наибольшее значение даты последнего обновления ресурса. Вместе со значением из поля «Мин. дата создания» составляет диапазон поиска по дате обновления.
Тип сортировки Тип сортировки найденных ресурсов. Действие сортирует найденные ресурсы и возвращает только первый ресурс из отсортированных.
Это поле в виде выпадающего списка со значениями:
- Без сортировки
- По увеличению приоритета
- По уменьшению приоритета
- По увеличению даты создания
- По уменьшению даты создания
- По увеличению даты обновления
- По уменьшению даты обновления
Если выбрано значение "Без сортировки", будет возвращено значение первого найденного ресурса, подходящего под условия поиска.
При выборе конкретного типа сортировки, сначала будут найдены все ресурса, соответствующие указанным условиям поиска. Затем эти ресурсы будут отсортированы с учетом выбранного типа сортировки, и роботу будет возвращен 1й ресурс из отсортированного списка. Выбранный тип сортировки по приоритету, дате создания или дате обновления не учитывается, если во входных параметрах действия было указано конкретное значение приоритета, даты создания или даты обновления, соответственно.
Запретить чтение Если значение "true", действие заблокирует найденный ресурс на чтение и скроет его в очереди. Другие роботы не смогут найти скрытый ресурс при поиске
по условию.
Запретить запись Если значение "true", действие заблокирует найденный ресурс на запись для других роботов.
Если значение параметра = true, т.е. нужно будет блокировать ресурс, действие будет искать только среди ресурсов, которые не имеют блокировки на запись, даже если он подходит под указанные условия поиска. Реализован такой вариант, чтобы не "зависать" на заблокированном ресурсе, когда в очереди могут быть другие "свободные" ресурсы.
Если блокировать на запись не надо, действие ищет в том числе и среди ресурсов, которые имеют блокировку на запись.
Завершить обработку Если значение "true", действие получит значение и параметры ресурса, а затем изменит его статус на "Обработан". С этим статусом ресурс будет скрыт для роботов,
даже при поиске по его идентификатору
Со стороны роботов такой статус у ресурса будет словно удаление ресурса, т.к. они больше не смогут найти этот ресурс. Причем не найдет даже тот робот, который сам же и выполнил это действие. Однако ресурс до сих пор будет в очереди, его сможет найти пользователь вручную через интерфейс Оркестратора.
Тайм-аут, мс Время ожидания появления в очереди подходящего ресурса. Если указано "-1", действие будет ждать бесконечно долго. Задается в миллисекундах.
Теги Коллекция строк, в которой каждый элемент - это отдельный тег ресурса.
Приоритет Приоритет ресурса среди других ресурсов очереди.
Статус Статус ресурса, который он имел до начала работы действия.
Дата создания Дата и время создания ресурса.
Дата обновления Дата и время последнего обновления ресурса.
Значение Значение ресурса.
Идентификатор Уникальный идентификатор ресурса.
Настройки
Свойство | Описание | Тип данных | Пример заполнения | Обязательность заполнения | Значение по умолчанию |
Входные параметры
|
|
|
|
| |
Очередь ресурсов | Название очереди ресурсов, в которой нужно искать ресурс | 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", действие получит значение и параметры ресурса, а затем изменит его статус на "Обработан". С этим статусом ресурс будет скрыт для роботов, даже при поиске по его идентификатору | Robin.Boolean | Нет | False | |
Тайм-аут, мс | Время ожидания появления в очереди подходящего ресурса. Если указано "-1", действие будет ждать бесконечно долго. Задается в миллисекундах | Robin.Numeric | Нет | 0 | |
Выходные параметры
|
|
|
|
| |
Теги | Коллекция строк, в которой каждый элемент - это отдельный тег ресурса | Robin.Collection |
|
| |
Приоритет | Приоритет ресурса среди других ресурсов очереди | Robin.Numeric |
|
| |
Дата создания | Дата и время создания ресурса | Robin.DateTime |
|
| |
Дата обновления | Дата и время последнего обновления ресурса | Robin.DateTime |
|
| |
Значение | Значение ресурса | Robin.Object |
|
| |
Идентификатор | Уникальный идентификатор ресурса | Robin.String |
Особые условия использования
Отсутствуют
Пример использования
Задача
Существует процесс, где имеется очередь ресурсов, необходимо получить приоритет первого подходящего ресурса со статусом "Новый".
Решение
Воспользоваться действием "Получить ресурс по условию", "Сообщение в лог".
Реализация
- Перетащить на рабочую область действие "Получить ресурс по условию" и заполнить его параметры:
- Поле "Очередь ресурсов" - Указать название очереди ресурсов, в которой нужно искать ресурс;
- Поле "Статус" - Указать статус, который должен иметь ресурс. В данном примере указываем статус "Новый";
- Перетащить на рабочую область действие "Сообщение в лог" и заполнить его параметры:
- Поле "Сообщение" - указываем приоритет полученный в результате действия "Получить ресурс по условию".
- Поле "Сообщение" - указываем приоритет полученный в результате действия "Получить ресурс по условию".
- Запустить робота по кнопке "Старт" в верхней панели.
- Если необходимо получить ресурс с определенными тегами, то необходимо заполнить поле "Теги", указав названия тегов ресурсов.
- Если необходимо получить ресурс с определенными приоритетами, то следует заполнить поля "Мин. приоритет" и "Макс. приоритет".
- Если необходимо получить ресурс с группировкой по дате создания (например, с 12.08.2022 4:00 по 14.08.2022 4:00) необходимо указать даты и время в соответствующих полях: "Мин. дата создания", "Макс. дата создания".
- Если необходимо получить ресурс с группировкой по дате обновления (например, 15.08.2022 5:00 по 17.08.2022 5:00) необходимо указать даты и время в соответствующих полях: "Мин. дата обновления", "Макс. дата обновления".
- Если необходимо необходимо отсортировать найденные ресурсы, то необходимо выбрать типа сортировки из выпадающего списка параметра "Тип сортировки".
- Если необходимо завершить обработку ресурса, то следует установить чек-бокс "Завершить обработку ресурса" = true.
- Если необходимо заблокировать ресурс на запись и/или чтение , то следует установить чек-бокс в полях: "Заблокировать на чтение"/"Заблокировать на запись".
Ресурс очереди может быть заблокирован роботом (на чтение и\или запись).
- только на чтение - когда ресурс заблокирован на чтение, по умолчанию также происходит его скрытие в очереди (скрытие для поиска), т.е. его нельзя будет получить действиями с поиском по условию; действием получения по ID можно будет "увидеть ресурс", но робот зависнет на ресурсе в ожидании снятия блокировки (в зависимости от выставленного тайм-аута).
- только на запись - когда ресурс заблокирован на запись (роботом или пользователем), другой робот не может изменить его значения.
- и на чтение, и на запись - соблюдаются одновременно два условия, описанных выше, то есть робот не сможет ни изменить ресурс, ни прочитать его.
Результат
Программный робот отработал успешно.
Получен приоритет первого подходящего ресурса со статусом "Новый". Сообщение выведено в лог.