Documentation Index
Fetch the complete documentation index at: https://ziva.zeleza.ru/llms.txt
Use this file to discover all available pages before exploring further.
Görev Kuyruğu (Queue)
Queue, Ziva’un merkezi bileşenidir. Görevlerin sıralı yürütülmesini yönetir ve kullanıcı etkileşimi için birleşik bir arayüz sağlar.
Kuyruk Oluşturma
queue := ziva.NewQueue("Kuyruk başlığı")
Ana Metodlar
Görev Ekleme
// Tek görev ekleme
queue.AddTasks(task1)
// Birden fazla görev ekleme
queue.AddTasks(task1, task2, task3)
// Zincirleme ekleme
queue.AddTasks(task1).AddTasks(task2)
Kuyruğu Çalıştırma
if err := queue.Run(); err != nil {
log.Fatal(err)
}
Görünüm Yapılandırması
Uygulama Adı
queue.WithAppName("BenimUygulamam")
Ad ve Başlık Renkleri
// Uygulama adı rengi
queue.WithAppNameColor(ziva.BlueBright, true) // renk, kalın
// Kuyruk başlığı rengi
queue.WithTitleColor(ziva.GreenBright, false) // renk, normal
Görev Numaralandırma
// Format ile numaralandırmayı etkinleştir
queue.WithTasksNumbered(true, "[%02d]") // [01], [02], [03]...
// Alternatif formatlar
queue.WithTasksNumbered(true, "(%d)") // (1), (2), (3)...
queue.WithTasksNumbered(true, "%d.") // 1., 2., 3....
// Format'ın ilk karakterini koruma
queue.WithTasksNumbered(true, "[%02d]") // '[' karakterini koru
Özet Yönetimi
// Tamamlanma özetini devre dışı bırak
queue.WithOutSummary()
// Sonuç ayıraç çizgilerini devre dışı bırak
queue.WithOutResultLine()
Ekran Temizleme
// Çalıştırmadan önce ekranı temizle
queue.WithClearScreen(true)
Hata Yönetimi
Hata Renklerini Yapılandırma
// Hata türlerini içe aktarma
import "github.com/qzeleza/ziva/internal/query"
// Hata rengini ayarlama
queue.SetErrorColor(query.ErrorColorRed) // Kırmızı
queue.SetErrorColor(query.ErrorColorYellow) // Sarı
queue.SetErrorColor(query.ErrorColorNone) // Renksiz
Yapılandırma Örnekleri
Minimalist Yapılandırma
queue := ziva.NewQueue("Basit uygulama")
queue.AddTasks(task1, task2)
queue.Run()
Tam Yapılandırma
queue := ziva.NewQueue("Gelişmiş TUI Uygulaması")
queue.WithAppName("GelişmişUygulama").
WithAppNameColor(ziva.BlueBright, true).
WithTitleColor(ziva.GreenBright, false).
WithTasksNumbered(true, "[%02d]").
WithClearScreen(true).
WithOutResultLine().
SetErrorColor(query.ErrorColorRed)
queue.AddTasks(
confirmTask,
selectTask,
inputTask,
functionTask,
)
if err := queue.Run(); err != nil {
log.Fatalf("Yürütme hatası: %v", err)
}
Gömülü Sistemler için Yapılandırma
queue := ziva.NewQueue("IoT Yapılandırması")
queue.WithAppName("RouterKurulum").
WithOutSummary(). // Yer tasarrufu
WithOutResultLine(). // Basitleştirilmiş çıktı
WithTasksNumbered(false, ""). // Numarasız
WithClearScreen(false) // Bağlamı koru
// Basitleştirilmiş renkler kullan
queue.WithAppNameColor(ziva.WhiteBright, false).
WithTitleColor(ziva.GrayBright, false)
Kuyruk Yaşam Döngüsü
- Oluşturma -
NewQueue(title)
- Yapılandırma -
With* metod çağrıları
- Görev Ekleme -
AddTasks(...)
- Yürütme -
Run()
Durum İşleme
Başarılı Yürütme
Tüm görevler başarıyla tamamlandığında Run() nil döner.
Kullanıcı İptali
Kullanıcı yürütmeyi iptal ederse (Ctrl+C), kuyruk düzgün şekilde sonlanır.
Yürütme Hataları
if err := queue.Run(); err != nil {
switch err {
case context.Canceled:
fmt.Println("Yürütme kullanıcı tarafından iptal edildi")
default:
fmt.Printf("Hata: %v\n", err)
}
}
Performans Optimizasyonu
Büyük Kuyruklar İçin
// Tamamlanan görev geçmişini sınırla
os.Setenv("ZIVA_MAX_COMPLETED_TASKS", "5")
// Bellek izleme
os.Setenv("ZIVA_MEMORY_PRESSURE_THRESHOLD", "100M")
Yavaş Terminaller İçin
// Basitleştirilmiş görüntü modu
queue.WithOutResultLine().
WithOutSummary().
WithTasksNumbered(false, "")
İpucu: Özel ortamınızda optimal kullanıcı deneyimi elde etmek için farklı ayarlarla deneme yapın.
Ayrıca Bakınız