Задача
Каждый раз при запуске операции создается задача. Задача содержит информацию о запущенной операции.
Модель задачи
| Поле | Тип | Описание |
|---|---|---|
| description | Object | Описание выполняемой задачи. |
| description.exitCode | Integer | Код завершения задачи. Используется только для операций, запускающих программу или скрипт. |
| description.stdout | String | Вывод задачи. Используется только для операций, запускающих программу или скрипт. |
| description.topic | String | MQTT-топик. Используется только для операций, отправляющих MQTT-сообщения. |
| description.message | String | Текст MQTT-сообщения. Используется только для операций, отправляющих MQTT-сообщения. |
| id | String | Идентификатор задачи. |
| operation_id | String | Идентификатор запущенной операции. |
| owner_id | String | Идентификатор сущности, которой принадлежит операция. |
| owner_type | String | Тип сущности, которой принадлежит операция. 1 - объект, 2 - связь. |
| process_meta | Object | Мета-информация задачи. null - операция была запущена не сменой состояния. |
| process_meta.triggerStates | Array | Массив состоянии, которые запускают выполнение задачи. |
| results | Object | Набор результатов выполнения задачи, добавляемых с помощью запроса Добавить пользовательский результат работы. |
| results.payload | String | Набор параметров, которые описывают пользовательский результат выполнения задачи. |
| results.by | String | Идентификатор пользователя, который добавил результат. |
| results.timestamp | Integer | Временная метка добавления результата. |
| timestamp | Integer | Временная метка запуска операции. |
| user_id | String | Идентификатор пользователя, который запустил операцию и инициировал задачу. |
Результат выполнения операции и пользовательские результаты
Модель задачи хранит информацию об операции, которая сгенерировала эту задачу. Данная информация включает специфичные результаты операции (description), временную метку запуска операции (timestamp) и идентификатор пользователя, который инициировал запуск операции (user_id). Пользователи могут добавлять информацию к задаче с помощью запроса Добавить пользовательский результат работы.
Параметры пользовательского результата имеют эквиваленты результатов выполнения операций — results.by эквивалентен user_id; results.timestamp эквивалентен timestamp. Различия заключаются в следующем:
- поле
payloadне предопределено (в отличие отdescription) И может хранить произвольный набор данных; - пользователи могут добавлять несколько результатов к одной задаче, но одна задача может содержать только один результат выполнения операции.
| Результат выполнения операции | Пользовательский результат | Заметки |
|---|---|---|
| description | results.payload | Поле description хранит предопределенный набор параметров; поле payload хранит произвольный набор параметров. |
| user_id | results.by | Пользователь, запустивший операцию — Пользователь, добавивший результат |
| timestamp | results.timestamp | Время запуска операции — Время добавления результата |