'dmsbatch' capability для WebSocket Token API
Обзор
Предоставляет интерфейс для проведения групповых CRUD операций с сущностями динамических классов.
Обеспечивает заметную экономию времени на пересылках запросов и ответов между различными машинами на пути от клиента подключения до DMS-сервера при последовательном синхронном выполнении операций.
[
"dmsbatch",
{
"qid": 0.1234,
"classpath": "/rest/v1/model/SomeClass",
"sync": true,
"timeout": 20000,
"batches": [
{
"operation": "update",
"id": ...,
"content": {"someProperty1": ..., "someProperty2": ...}
},
{
"operation": "read",
"filter": ["==",["property","someProperty1"],...]
},
...
]
}
]
[
"dmsbatch_result",
{
"qid": 0.1234,
"result": ok,
"batches": [
{
"result": "ok",
"content": ...
},
{
"result": "ok",
"content": ...
},
...
]
}
]
Каждый запрос и соответствующий ему ответ упаковывается в элемент массива batches. Последовательность ответов строго соответствует последовательности запросов. Если какой-то запрос завершается ошибкой, то ошибка также размещается в соответствующей позиции массива batches в ответе. При этом общий result всегда "ok".
В случае таймаута (по умолчанию 60000 = 60 секунд), запросы не успевшие выполниться получают ошибку с кодом таймаута.
На каждый запрос налагаются все те же условия, возможности и ограничения, что и при выполнении отдельного запроса rest к динамическим классам.
-
Построение запросов аналогично WebSocket User API.