Скрипты и зависимости

Расчётные скрипты — это обычные файлы среди контента портала. Их видно, их можно перенести вместе с порталом, и историю их правок хранит та же история версий. Ниже — где они лежат, как добавить им библиотеки и как агент их отлаживает.

Где лежат скрипты

  • Общая папка — папка в корне портала. Здесь живут скрипты, которые нужны нескольким страницам: например, запрос к вашей системе или расчёт общей сводки.
  • Папка страницы — рядом с самой страницей. Здесь держат скрипты, нужные только ей: маленькие и узкие по задаче.

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

Библиотеки

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

httpx
pandas
requests

Установка идёт несколько минут и заканчивается отчётом о результате. Ставится один раз — дальше скрипт пользуется библиотекой сразу.

Рабочая папка для своих файлов

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

Отладка

Агент может запустить любой скрипт вручную и посмотреть, что он вывел и какие были ошибки. Для читателей эта «черновая» работа не видна: на странице показывается только понятное сообщение. Например, при ошибке в скрипте читатель прочтёт, что расчёт не удался, а агент увидит полный текст ошибки и поправит скрипт.

Пределы работы

  • Расчёт содержимого — до 60 секунд.
  • Выполнение действия — до 120 секунд.
  • Одновременно считаются четыре скрипта, остальные ждут очереди.
  • Входные данные — до 64 килобайт.

Если скрипт не уложился во время, портал останавливает его вместе со всеми запущенными им процессами — ничего не остаётся зависшим в фоне.

Понятные коды ошибок

Ошибки у скриптов не «сырые», а с понятным смыслом: скрипт не найден, ответ не того формата, истекло время, Python недоступен. В каждом случае читателю показывается человеческое сообщение, а агенту — подробности. Разбор ошибок — в разделе Динамические блоки на Python.

Примеры в демонстрационном портале

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

Дальше: как рисуются графики — в разделе Графики; как устроены формы — в разделе Формы; как агент запускает скрипты — в разделе Управление агентом.

← Оглавление документации