Управление выполнением служебных сценариев (svcscript_runtimes)

Обзор

Управляет активными обработчиками служебных сценариев.
Обработчик служебного сценария – это алгоритм, интерпретирующий экземпляр служебного сценария.

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/service/svcscript_runtimes

Запуск нового экземпляра служебного сценария

GET

/rest/v1/service/svcscript_runtimes

Получение списка выполняющихся экземпляров служебных сценариев

DELETE

/rest/v1/service/svcscript_runtimes/<id>

Остановка экземпляра служебного сценария

Запуск нового экземпляра служебного сценария

Осуществляет запуск нового обработчика служебного сценария на одной из нод с ролью svc, в который загружается служебный сценарий с указанным кодом из текущего домена.

Преимущественно выбирается нода на том же сайте, где обслуживается API-запрос. Исключение, если на этом сайте не обслуживается текущий домен, либо отсутствует роль.

Запрос

Table 1. Описание полей:
Поле Описание

code

Код сценария

startparam1

Параметр 1, доступный в сценарии через функцию выражений startparam(1) и в компоненте Старт.

startparam2

Параметр 2, доступный в сценарии через функцию выражений startparam(2).

startparam3

Параметр 3, доступный в сценарии через функцию выражений startparam(3).

startparam4

Параметр 4, доступный в сценарии через функцию выражений startparam(4).

startparam5

Параметр 5, доступный в сценарии через функцию выражений startparam(5).

startparam6

Параметр 6, доступный в сценарии через функцию выражений startparam(6).

startparam7

Параметр 7, доступный в сценарии через функцию выражений startparam(7).

startparam8

Параметр 8, доступный в сценарии через функцию выражений startparam(8).

startparam9

Параметр 9, доступный в сценарии через функцию выражений startparam(9).

Пример запроса
POST /rest/v1/service/svcscript_runtimes HTTP/1.1
Content-Type: application/json; charset=utf-8

{
  "code": "123"
}

Ответ

Возвращает информацию о запущенном обработчике служебного сценария.

Table 2. Описание полей
Поле Описание

id

Идентификатор обработчика сценария

site

Сайт, на котором запустился обработчик.

node

Нода, в рамках которой запустился обработчик.

domain

Домен сценария.

type

Тип запущенного сценария.

code

Код запущенного сценария.

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "b7f4ad2f-0624-e7dd-42f5-d000000003e8",
  "site": "SITE1",
  "node": "site1_c@192.168.0.12",
  "domain": "test.rootdomain.ru",
  "type": "svc",
  "code": "code"
}

Получение списка выполняющихся экземпляров служебных сценариев

Возвращает список всех обработчиков служебных сценариев, исполняемых системой в текущем домене на всех доступных сайтах, где он обслуживается.

Запрос

Table 3. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/service/svcscript_runtimes HTTP/1.1

Ответ

Возвращает все обнаруженные активные выполняемые обработчики служебных сценариев.

Table 4. Описание полей:
Поле Описание

id

Идентификатор обработчика сценария

site

Сайт, на котором выполняется обработчик.

node

Нода, в рамках которой выполняется обработчик.

domain

Домен сценария.

type

Тип сценария.

code

Код выполняемого сценария. Если исходный сценарий передал управление вложенному сценарию, то возвращается код вложенного сценария.

name

Название выполняемого сценария. Если исходный сценарий передал управление вложенному сценарию, то возвращается название вложенного сценария.

starttime

Дата и время запуска обработчика в формате RFC3339 в UTC.

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "id": "fbd617e7-0624-e648-92da-7800000003e8",
    "site": "SITE1",
    "node": "site1_c@192.168.0.12",
    "domain": "test.rootdomain.ru",
    "type": "svc",
    "code": "test pause",
    "name": "TEST PAUSE",
    "starttime": "2019-11-05T08:40:41Z"
  },
  {
    "id": "424123d3-0624-e647-e54b-7800000003e8",
    "site": "SITE1",
    "node": "site1_c@192.168.0.12",
    "domain": "test.rootdomain.ru",
    "type": "svc",
    "code": "send_mail",
    "name": "SEND MAIL",
    "starttime": "2019-11-05T08:40:30Z"
  }
]

Остановка экземпляра служебного сценария

Принудительно завершает работу обработчика сценария.

Если в текущем выполняемом сценарии задана ветка пост-обработки, соответствующая типу завершения Внешняя остановка, то управление передается ей, и обработчик продолжает выполняться. В этом случае для полной остановки обработчика потребуется еще один API-запрос DELETE.

Запрос

Пример запроса
DELETE /rest/v1/service/svcscript_runtimes/4e7e9ce0-0621-6606-d157-c00000000004 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

См. также