Добавить в очередь
Eng: Add to queue
Компонент добавляет новый элемент в очередь обмена данными Оркестратора. Добавленному элементу присваивается статус New.
Предварительные условия
- Подключение к Orchestrator
- Созданная очередь в Orchestrator
- Соответствующие права доступа
Пример отображения нового элемента в очереди Оркестратора:
Свойства
Обязательные для заполнения свойства отмечены символом *
. Описание общих свойств см. в разделе Свойства элемента.
Процесс:
До версии 1.24.10 свойство Ключ называлось Идентификатор.
- Очередь* [String] — название очереди, в которую следует добавить элемент (транзакцию). Должно совпадать с названием очереди в Оркестраторе. Чувствительно к регистру. Пример:
Queue_name
. - Значение* [String] — значение, которое следует присвоить элементу очереди. Значение можно указать в формате JSON либо в виде переменной. Ниже приведен пример значения в JSON (кавычки нужно экранировать:
\"
):{"collection":{"row":{"field":\[{"name":"FIO","type":"text","value":"Иванов Иван Иванович"},{"name":"from","type":"text","value":"Москва, Улица, Номер дома"},{"name":"to","type":"text","value":"Санкт-Петербург,Улица, Номер дома"}, {"name":"dateAndTime","type":"text","value":"23.08.2022 19:04"},{"name":"reestrFullPath","type":"text","value":"\\\of-FS-01\Common\Works\Название отдела\Такси реестр\реестры в оплату\такси\_август.xlsx"},{"name":"row","type":"text","value":"70"}]\}}}
- Таблица* [DataTable ] — если значение имеет вид таблицы, укажите название табличной переменной. В этом случае свойство Значение заполнять не нужно. Если заполнены и Значение, и Таблица, то запишутся только табличные данные.
- Ключ [String] — натуральный ключ элемента очереди (не то же самое, что ID). Ключ выполняет схожую функцию с ID, но ID присваивается системой автоматически при добавлении элемента в очередь, имеет формат Guid, и его нельзя изменить. Натуральный ключ задается вручную как дополнительный идентификатор. Как правило, он используется для упрощенного распознавания элемента. Пример:
"mykey1"
. - Метаданные [Dictionary<string, string>] — метаданные элемента очереди, которые часто представляют собой динамические данные. В дальнейшем они могут помочь при фильтрации элемента. Пример:
{"Tags":"123","KeyField":"FIO","KeyValue":"Иван Иванович Иванов","Attempt":"1","Loaded":"9/20/2022 4:31:12 PM","Completed":"9/20/2022 11:38:06 AM","Worktime":"1","Priority":"0","Prevworktime":"0","Attemptworktime":"1","Finished":"9/20/2022 11:38:06 AM","LastUpdated":"9/20/2022 11:38:06 AM"}
- Тэги [List<string>] — теги для фильтрации элементов. Пример:
List{"tag"}
. - Приоритет [Int32] — приоритет добавляемого элемента. Приоритет используется для сортировки элементов при извлечении из очереди. По умолчанию задано значение
0
— высший приоритет. Порядок сортировки следующий:- Если приоритета нет (или он совпадает у нескольких элементов), то элементы сортируются только по дате добавления.
- Если приоритет указан, то для сортировки используется сначала он, а потом дата добавления. Чем выше значение, тем ниже приоритет элемента. Значение не может быть отрицательным, положительные числа ограничены типом данных свойства.
- Недоступен до [DateTime ] — Блокировка обработки до указанной даты. Пример:
new DateTime(2022, 9, 19)
. - Устранить после [DateTime] — Автоматическое удаление после даты.
- Забирать [Boolean] — если после добавления элемента в очередь его нужно немедленно взять в работу, поставьте галочку. В результате другие роботы Оркестратора не успеют взять ваш элемент в обработку.
- Таймаут [Int32] — лимит времени операции в миллисекундах. По умолчанию
3000
. Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. С версии 1.24.8 таймаут по умолчанию составляет30000
(30 секунд).
Вывод:
- Элемент LTools.Enterprise.Model.QueueItem — название переменной, в которую будет сохранен созданный элемент очереди.
Если метаданные неизвестны
Если на момент создания элемента метаданные неизвестны, но вы хотите добавить их позднее, действуйте по алгоритму:
- Добавьте элемент очереди с пустыми метаданными.
- Извлеките элемент с помощью активности Получить из очереди или Получить по ID/фильтру с установленным чекбоксом Занимать.
- _Удалите старый элемент либо измените его статус на
Success
с помощью компонента Изменить статус в очереди - Добавьте новый элемент с помощью активности Добавить в очередь и запишите в него нужные метаданные.
Только код
Ниже приведен пример использования элемента в процессе с типом Только код (Pure code):
C#
LTools.Enterprise.OrchestratorApp.WriteQueue(wf, "queue", "data");