'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.