Документация
Главная/Документация/Устройства и обработчики

Где выполняется
программа

Сохранённый код и место исполнения — разные части системы. До запуска устройству нужен работающий исполнитель, подходящий обработчик и зависимости программы.

Путь одного вызова

ШагЧто происходит
1. ЗапросАгент, приложение или ваш код передаёт имя программы и параметры в сервис Extella.
2. УстройствоИсполнитель на выбранном устройстве принимает задание.
3. ОбработчикЧитает программу на указанном в записи языке и выполняет её команды.
4. ОтветРезультат возвращается вызывающей стороне через сервис.

Файл по пути ~/orders.csv читается на выбранном устройстве, а не автоматически на компьютере, с которого отправлен запрос.

Как выбрать устройство

Передайте Device ID в поле targets запроса на выполнение. Для проверки одной машины используйте список с одним ID. Если устройство недоступно, сначала восстановите его подключение.

JSON
{
  "expert_name": "add_two_numbers_v1",
  "params": {"a": 5, "b": 7},
  "targets": ["DEVICE_ID"]
}

Список зарегистрированных устройств можно получить через POST /api/targets/list. ID в запросе должен относиться к вашей доступной машине.

Зачем отдельный обработчик

В записи программы хранится язык — например, fython или собственный формат команд. Обработчик задаёт, как этот язык исполняется. Для нового языка недостаточно только сохранить его название: исполнение нужно реализовать и подготовить на устройстве.

Обновление обработчика может изменить поведение нескольких программ на этом языке без изменения их текста. Совместимость при этом нужно проверять отдельно.

Разбор механизма CSPL и записи опытов →

Если вызов не сработал

Что проверитьЧто сделать
ДоступПроверьте токен, профиль и агента, с которыми сохранена программа.
ИмяПолучите запись через /api/expert/get и проверьте код и язык.
ПодключениеУбедитесь, что исполнитель запущен, устройство включено и видно в списке.
Язык и зависимостиПроверьте наличие нужного обработчика, библиотек и внешних программ.
Пути и праваУбедитесь, что файлы находятся на выбранной машине и доступны исполнителю.
РезультатПроверьте статус ответа и журнал исполнения, а не только HTTP-код.

Права и данные

Исполнитель может работать с доступными ему файлами и сетью. Не запускайте непроверенный код на рабочей машине с чувствительными данными. Ограничение языка в конкретном демо не означает изоляцию произвольной программы в Extella.

Параметры запроса и результат проходят через сервис. Возвращайте только то, что действительно нужно вызывающей стороне; не включайте токены и лишнее содержимое файлов в логи.