Где выполняется
программа
Сохранённый код и место исполнения — разные части системы. До запуска устройству нужен работающий исполнитель, подходящий обработчик и зависимости программы.
Путь одного вызова
| Шаг | Что происходит |
|---|---|
| 1. Запрос | Агент, приложение или ваш код передаёт имя программы и параметры в сервис Extella. |
| 2. Устройство | Исполнитель на выбранном устройстве принимает задание. |
| 3. Обработчик | Читает программу на указанном в записи языке и выполняет её команды. |
| 4. Ответ | Результат возвращается вызывающей стороне через сервис. |
Файл по пути ~/orders.csv читается на выбранном устройстве, а не автоматически на компьютере, с которого отправлен запрос.
Как выбрать устройство
Передайте Device ID в поле targets запроса на выполнение. Для проверки одной машины используйте список с одним ID. Если устройство недоступно, сначала восстановите его подключение.
{
"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.
Параметры запроса и результат проходят через сервис. Возвращайте только то, что действительно нужно вызывающей стороне; не включайте токены и лишнее содержимое файлов в логи.