'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- объект со значениями всех локальных переменных сценария.