Очередь задач (Queue)
Queue
— центральный оркестратор Ziva. Он последовательно запускает задачи, управляет отображением статусов и обеспечивает единый цикл ввода/вывода в терминале.
Создание и запуск

Сохраняйте ссылки на созданные задачи, если нужно считать их результат после
Run()
.Добавление задач
Настройка отображения
Имя приложения и заголовок
lipgloss.Color()
либо готовые константы Ziva (ziva.BlueBright
, ziva.GrayDark
и т.д.).
Нумерация задач
keepFirstSymbol
) определяет, нужно ли сохранять символ завершения (✔
, ✗
) для первой задачи. Формат — любая строка для fmt.Sprintf
.
Сводка и разделительные линии
Очистка экрана
Чтение результатов задач
Обработка ошибок и отмены
- Пользователь может прервать очередь (
Ctrl+C
). В этом случаеRun()
вернёт ошибку, которую можно обработать. - Используйте
FuncTask.WithStopOnError(true)
, чтобы оборвать очередь при сбое важной операции. - Для дружелюбного вывода сообщений об ошибке изменяйте глобальные цвета через
ziva.SetErrorColor()
.
Производительность и ресурсы
Ziva содержит встроенные механизмы контроля памяти. Их удобно конфигурировать через переменные окружения:Лучшие практики
- Минимизируйте побочные эффекты в задачах. Пусть каждая задача отвечает только за свой ввод/вывод.
- Готовьте данные заранее. Формируйте списки вариантов и дефолтные значения до создания задач.
- Логируйте за пределами очереди. Queue управляет только TUI. Используйте отдельные журналы для внутреннего состояния приложения.
- Сохраняйте результаты. После
Run()
извлеките значения и сохраните их в собственных структурах, пока пользователь помнит контекст. - Разделяйте сценарии. Лучше несколько небольших очередей, чем одна гигантская — пользователю проще ориентироваться.