Skip to main content
Skip table of contents

Пуш-сервер

Пуш-сервер является связующим звеном для взаимодействия оркестратора и исполняемых файлов в процессе работы.

Последовательность запуска исполняемого файла

При запуске исполняемый файл регистрирует на пуш-сервере публичный канал. Название канала формируется по принципу «тип задания.uid». Например: «face-detect.5141239e-faaa-11eb-ac62-1e00da0e0552».

После создания канала, пуш-сервер присылает оркестратору webhook с информацией о событии.

Пример данных
CODE
{

  "app": "analytics",

  "channel": "face-detect.5141239e-faaa-11eb-ac62-1e00da0e0552",

  "event": "register",

  "msg_data": "",

  "msg_id": 0,

  "msg_name": "",

  "session": ""

}

Исполняемый файл подключается к данному каналу, после чего на оркестратор приходит webhook с информацией о событии.

Пример данных
CODE
{

  "app": "analytics",

  "channel": "face-detect.5141239e-faaa-11eb-ac62-1e00da0e0552",

  "event": "join",

  "msg_data": "",

  "msg_id": 0,

  "msg_name": "",

  "session": "1591188904571492.06963225946564896960"

}

Далее оркестратор сможет отправлять видеопотоки исполняемым файлам. Для этого используется API пуш-сервера.

После остановки исполняемый файл покидает канал.

Пример данных
CODE
{

  "app": "analytics",

  "channel": "face-detect.5141239e-faaa-11eb-ac62-1e00da0e0552",

  "event": "leave",

  "msg_data": "",

  "msg_id": 0,

  "msg_name": "",

  "session": "1591188904571492.06963225946564896960"

}

После отключения всех слушателей канал удаляется.

Пример данных

CODE
{

  "app": "analytics",

  "channel": "face-detect.5141239e-faaa-11eb-ac62-1e00da0e0552",

  "event": "unregister",

  "msg_data": "",

  "msg_id": 0,

  "msg_name": "",

  "session": ""

}

Также исполняемый файл подключается к каналам stats и raw-events. В канал stats исполняемый файл отправляет статистику по потребляемым ресурсам и состояние видеопотоков, которые на нем обрабатываются. В канал raw-events исполняемый файл отправляет сгенерированные события.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.