Skip to Content

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

Eng: Add to queue

alt

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

Предварительные условия

  • Подключение к Оркестратору
  • Созданная очередь в Оркестраторе
  • Соответствующие права доступа

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

Таблица с элементами очереди в Оркестраторе

Свойства

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

Процесс:

  1. Очередь* [String] — название очереди, в которую робот добавит элемент. Название чувствительно к регистру и должно совпадать с названием очереди в Оркестраторе. Пример: Queue_name.
  2. Значение* [String] — строковое значение, которое робот присвоит элементу очереди. Значение можно указать в виде строки или переменной. Ниже приведен пример значения в 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] — натуральный ключ элемента очереди (пример: "mykey1"). Ключ задается вручную как дополнительный идентификатор и используется для упрощенного распознавания элемента в очереди. Помимо ключа, элемент будет иметь ID — уникальный идентификатор в формате Guid, который система присвоит автоматически. В отличие от ключа, ID нельзя задать вручную или изменить.
  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\"}
  6. Тэги [List<string>] — список тегов для фильтрации элементов. Пример: List{"tag"}.
  7. Приоритет [Int32] — приоритет элемента в очереди. Приоритет используется для сортировки элементов при извлечении роботом из очереди. По умолчанию задано значение 0 — высший приоритет. Порядок сортировки следующий:
    • Если приоритета нет (или он совпадает у нескольких элементов), то элементы сортируются только по дате добавления.
    • Если приоритет указан, то для сортировки используется сначала он, а потом дата добавления. Чем выше значение, тем ниже приоритет элемента. Значение не может быть отрицательным, положительные числа ограничены типом данных свойства.
  8. Недоступен до [DateTime] — блокировка обработки элемента до указанной даты, если требуется. Пример: new DateTime(2022, 9, 19).
  9. Устранить после [DateTime] — автоматическое удаление после даты.
  10. Забирать [Boolean] — определяет, должен ли робот немедленно взять элемент в работу после его добавления в очередь. Если параметр включен, то другие роботы Оркестратора не успеют взять добавленный элемент в обработку.
  11. Таймаут [Int32] — лимит времени операции в миллисекундах. Если по истечении лимита операция не выполнена, робот закончит работу с ошибкой. По умолчанию 3000 (30 секунд).

Вывод:

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

Если метаданные неизвестны

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

Только код

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

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