Документация 0.4 Справочник действий

Результат элемента очереди

orch.queueSetResult · Оркестратор

Сообщает, чем закончилась обработка элемента: успешно или ошибка. Системная ошибка повторяется по настройке очереди, бизнес-ошибка — окончательная

Сообщает оркестратору, чем закончилась обработка элемента очереди: успешно или ошибкой. От типа ошибки зависит, что будет дальше: системная ошибка повторяется по настройкам очереди, бизнес-ошибка — окончательная, элемент ждёт разбора оператором.

Действие работает в задании оркестратора и при запуске из студии, подключённой к оркестратору: тогда оно обращается к „области для отладки“, выбранной в «Оркестратор» → «Подключение…», и работает с настоящими данными этой области.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Id элемента itemId текст да — Обычно {{ item.id }} из «Взять элемент из очереди»
Результат status выбор из списка нет succeeded Значения: succeeded, failed.
Тип ошибки errorType выбор из списка нет business business — ошибка в данных, повтор не поможет; system — сбой (окно не открылось, сайт недоступен), элемент повторится. Значения: business, system.
Сообщение message текст нет — Что случилось — оператор увидит это в карточке элемента
Результат элемента (output) output выражение нет — Объект с итогом обработки, например { номер: requestNumber }

Результат #

Действие не возвращает значений.

Как работает #

  • Id элемента (itemId) — обычно {{ item.id }} из orch.queueGetItem.
  • Результат (status): succeeded — успешно, failed — ошибка.
  • Тип ошибки (errorType, только для failed):
    • business — ошибка в данных (нет телефона, неверный ИНН): повтор не поможет;
    • system — сбой программы или сети (окно не открылось, сайт недоступен): элемент вернётся в очередь после паузы, пока не кончатся попытки. В ветке „Catch“ тип удобно выбрать по коду ошибки: {{ error.code === 'UserThrow' ? 'business' : 'system' }}.
  • Сообщение (message) — что случилось; оператор увидит это в карточке элемента.
  • Результат элемента (output) (output) — объект с итогом обработки, например { номерЗаявки: requestNumber }; виден в панели и через API.

Ошибки #

Код Причина и что делать
InvalidArgument Id — не идентификатор элемента (передайте item.id); результат элемента — не объект; элемент уже завершён или взят другим заданием
OrchestratorUnavailable Процесс запущен без оркестратора (студия не подключена) или нет связи с сервером после 4 попыток (паузы 1, 2 и 4 с). Проверьте подключение студии или что агент робота на связи
AccessDenied Не хватает прав в рабочей области или задание уже завершено

Пример #

{
  "type": "orch.queueSetResult",
  "props": {
    "itemId": "{{ item.id }}", "status": "failed",
    "errorType": "{{ error.code === 'UserThrow' ? 'business' : 'system' }}", "message": "{{ error.message }}"
  }
}