Ziva на встроенных системах
Библиотека с самого начала проектировалась для работы в терминалах с ограниченными возможностями: BusyBox, OpenWrt, промышленные контроллеры, одноплатные компьютеры.Базовая конфигурация
AutoConfigure() анализирует память и автоматически снижает нагрузку (уменьшает историю задач, включает лёгкие стили).
Переменные окружения
- ZIVA_MEMORY_PRESSURE_THRESHOLD — порог, при котором очередь начнёт освобождать память.
- ZIVA_MAX_COMPLETED_TASKS — сколько завершённых задач хранить в истории.
- ZIVA_LANG — принудительный язык интерфейса.
Минималистичный вывод
Уберите всё лишнее, чтобы не переполнить экран:Работа с таймаутами
На headless-устройствах оператор может не успеть ответить. Используйте таймауты с безопасными значениями по умолчанию:ASCII и шрифты
Если терминал не поддерживает UTF-8:- Включите
EnableASCIIMode(). - Настройте локаль и шрифты (см. раздел «Установка»).
- Избегайте символов псевдографики в собственных сообщениях.
Логи и диагностика
- Для долговременных логов используйте отдельный файл/удалённый syslog. Не выводите большие дампы в интерфейс Ziva.
- Добавьте
FuncTask, который проверяет доступность внешних ресурсов (например, сеть) перед запуском основной процедуры.
Рекомендации
- Не перегружайте очередь. 4–6 задач в одном сценарии — оптимальный баланс для маленьких экранов.
- Сохраняйте состояние. После
queue.Run()сохраняйте результаты в конфигурационных файлах, чтобы устройство могло работать автономно. - Используйте предустановленные цвета. Встроенный режим подбирает безопасные оттенки для низкоскоростных терминалов.
- Проверяйте ширину экрана. Ограничьте viewport (
WithViewport) и держите описания короткими.