REST API¶
RS сlient API¶
Предоставляет API для удалённого запуска пользовательских скриптов и вывода сообщений на рабочем столе.
Информация о модуле¶
Все информация о задачах сохраняется в локальной базе данных.
Лимиты
- Максимальный размер скрипта — 10 КБ.
- Время выполнения по умолчанию — 3600 с (можно уменьшить параметром timeout).
Запрос¶
| Name | In | Type | Description |
|---|---|---|---|
| script | body | string | Скрипт, закодированный в формате base64. |
| timeout (Optional) | body | integer | Максимальное время работы скрипта, с. |
Пример запроса:
SCRIPT_B64=$(base64 -w0 hello.py)
curl -X POST -H "Content-Type: application/json" \
-d "{\"script\":\"$SCRIPT_B64\",\"timeout\":120}" \
http://controller:9364/v1/actions/run-script | python -m json.tool
Ответ¶
| Name | In | Type | Description |
|---|---|---|---|
| task_id (Optional) | body | string | Идентификатор задачи. |
{
"task_id": "1f1cda8e5d8f4b15a0c4eabf104e1ce9"
}
Запрос¶
| Name | In | Type | Description |
|---|---|---|---|
| task_id | path | string | Идентификатор задачи. |
Пример запроса:
curl -X GET http://controller:9364/v1/actions/1f1cda8e5d8f4b15a0c4eabf104e1ce9 \
| python -m json.tool
Ответ¶
| Name | In | Type | Description |
|---|---|---|---|
| task_id (Optional) | body | string | Идентификатор задачи. |
| status (Optional) | body | string | Статус задачи (Running, Completed, Failed). |
| stdout (Optional) | body | string | Вывод скрипта в stdout. |
| stderr (Optional) | body | string | Вывод скрипта в stderr. |
| return_code (Optional) | body | string | Код возврата процесса. |
| start_time (Optional) | body | string | Время запуска задачи (UTC). |
| end_time (Optional) | body | string | Время завершения задачи (UTC). |
| runtime (Optional) | body | number | Длительность выполнения, с. |
{
"task_id": "1f1cda8e5d8f4b15a0c4eabf104e1ce9",
"status": "Completed",
"stdout": "Hello World\n",
"stderr": "",
"return_code": 0,
"start_time": "2025-05-26T12:00:00+00:00",
"end_time": "2025-05-26T12:00:01+00:00",
"runtime": 1.0
}
Запрос¶
| Name | In | Type | Description |
|---|---|---|---|
| message | body | string | Текст сообщения, закодированный в base64. |
Пример запроса:
MSG_B64=$(echo -n "Не забудьте сохранить работу" | base64 -w0)
curl -X POST -H "Content-Type: application/json" \
-d "{\"message\":\"$MSG_B64\"}" \
http://controller:9364/v1/actions/print-message | python -m json.tool
Ответ¶
| Name | In | Type | Description |
|---|---|---|---|
| status (Optional) | body | string | Статус ответа (success / error). |
{
"status": "success"
}