Добавить в очередь

Add to queue

Компонент позволяет добавить новый элемент в очередь обмена данными Оркестратора. Добавленному элементу присваивается статус New.

Пример отображения нового элемента в очереди Оркестратора:

Для успешной работы компонента должно быть установлено подключение Студии к Оркестратору.

Свойства

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

Обязательными для заполнения являются:

  • свойство «Очередь»;

  • свойство «Значение» либо «Таблица». Если заполнены и «Значение», и «Таблица», то данные запишутся только в таблицу.

«Процесс»:

1. Очередь* [String] — название очереди, в которую нужно добавить элемент (транзакцию). Должно совпадать с названием очереди в Оркестраторе. Чувствительно к регистру. Пример: Queue_name. 2. Значение* [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"}]\}}}

3. Таблица* [DataTable] — если значение имеет вид таблицы, заполните это поле, указав табличную переменную. 4. Идентификатор [String] — натуральный ключ элемента очереди (не то же самое, что ID). Ключ выполняет схожую функцию с ID, но ID присваивается системой автоматически при добавлении элемента в очередь, имеет формат Guid, и его нельзя изменить. Натуральный ключ задается вручную как дополнительный идентификатор. Как правило, он используется для упрощенного распознавания элемента. Пример: "mykey1". 5. Метаданные [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"}

Если метаданные неизвестны на момент создания элемента, но их нужно добавить позднее, действуйте по алгоритму:

  • Добавьте элемент очереди с пустыми метаданными.

  • Извлеките элемент с помощью активности Получить из очереди или Получить по ID/фильтру с установленным чекбоксом Занимать.

  • Удалите старый элемент либо измените его статус на Success с помощью компонента Изменить статус в очереди.

  • Добавьте новый элемент с помощью активности Добавить в очередь и запишите в него нужные метаданные.

6. Тэги [List<string>] — теги элемента очереди. В дальнейшем могут помочь при фильтрации элементов. Пример: List{"tag"}. 7. Приоритет [Int32] — приоритет добавляемого элемента, используется для сортировки элементов при извлечении из очереди. По умолчанию задано значение 0 — высший приоритет. Порядок сортировки следующий:

  • Если приоритета нет (или он совпадает у нескольких элементов), то элементы сортируются только по дате добавления.

  • Если приоритет указан, то для сортировки используется сначала он, а потом дата добавления. Чем выше значение, тем ниже приоритет элемента. Значение не может быть отрицательным, положительные числа ограничены лишь типом данных свойства.

    Также на извлечение из очереди влияет дата, указанная в свойстве Недоступен до (если оно заполнено).

8. Недоступен до [DateTime] — дата, до наступления которой робот не сможет обрабатывать элемент очереди. Пример: new DateTime(2022, 9, 19). 9. Устранить после [DateTime] — дата, после которой элемент принудительно удаляется из очереди. 10. Забирать [Boolean] — если после добавления элемента в очередь его нужно немедленно взять в работу, поставьте галочку. В результате другие роботы Оркестратора не успеют взять ваш элемент в обработку. 11. Таймаут [Int32] — лимит времени операции в миллисекундах. По умолчанию 3000. Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой.

«Вывод»:

  • Элемент LTools.Enterprise.Model.QueueItem — название переменной, в которой будет храниться добавленный элемент очереди.

Только код

Ниже приведен пример использования элемента в процессе с типом Только код (Pure code):

LTools.Enterprise.OrchestratorApp.WriteQueue(wf, "queue", "data");

Last updated