'svcscript' capability для WebSocket Token API
Обзор
Запуск служебного сценария с передачей стартовых параметров и указанием таймаута выполнения. Ответ поступает после завершения работы сценария. В случае успешного завершения работы в ответе содержится объект со значениями всех локальных переменных.
Исполнение сценария и ожидание ответа можно прервать отправкой запроса abort_svcscript
с тем же самым значением qid
, что и исходный запрос start_svcscript
.
В этом случае сразу же поступает ответ на запрос с именем abort_svcscript_result
.
Если ошибка параметров или запуска - ответное сообщение возвращается сразу. При недоступности ответственных микросервисов таймаут перед отправкой неудачного ответа может достигать 5 секунд.
Можно задать параметры startparam1
, startparam2
, …, startparam20
. Стартовые параметры передаются в сценарий и доступны в выражениях через функцию startparam(N)
.
Первый стартовый параметр доступен в компоненте Старт
для сохранения в переменную.
Можно задать параметр timeout в миллисекундах (по умолчанию 10000). По истечении таймаута ожидание ответа прерывается, сценарий тоже прерывается после очередного компонента.
Если нужно выполнять сценарии асинхронно, то достаточно отправлять запросы с уникальными qid и не ожидать ответов.
[ "start_svcscript", { "qid": 123, "code": "test_script", "startparam1": "abc", "startparam2": "def", "startparam5": "{\":a\":1}", "startparam12": "[{\"a\":\"123\"}\r\n,{\"a\":\"456\"}]", "timeout": 5000 } ]
[ "start_svcscript_result", { "qid": 123, "result": "ok", "data": { "variables": { "body": "[{\"a\":1,\"b\":\"111\"},\n{\"a\":2,\"b\":\"222\"},\n{\"a\":1,\"b\":\"333\"},\n{\"b\":\"444\"},\n{}]", "code": 36, "err": "", "path": ":SYNC/common/1.txt", "text": "hello" } } } ]
[ "abort_svcscript", { "qid": 123, "result": "ok" } ]
Параметры:
-
code
- код служебного сценария в домене. -
startparamN
- параметр передаваемый в сценарий. -
timeout
- таймаут выполнения сценария в миллисекундах. -
result
- код результата. -
data
- объект с подробностями результата. -
variables
- объект со значениями всех локальных переменных сценария.