Links
Comment on page

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

Eng: 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):
C#
Python
JavaScript
LTools.Enterprise.OrchestratorApp.WriteQueue(wf, "queue", "data");
LTools.Enterprise.OrchestratorApp.WriteQueue(wf, "queue", "data")
_lib.LTools.Enterprise.OrchestratorApp.WriteQueue(wf, "queue", "data");