> ## 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)

> Ziva'ta görev dizilerinin yönetim sistemi

# 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

```go theme={null}
queue := ziva.NewQueue("Kuyruk başlığı")
```

<img src="https://mintcdn.com/terem/7tfdR1JkDhuUAiXc/images/pic_5.png?fit=max&auto=format&n=7tfdR1JkDhuUAiXc&q=85&s=c969bea304b96b8f8b766f68d3c2ae09" alt="Ekran görüntüsü: kuyruk özet görünümü" width="966" height="620" data-path="images/pic_5.png" />

## Ana Metodlar

### Görev Ekleme

```go theme={null}
// 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

```go theme={null}
if err := queue.Run(); err != nil {
    log.Fatal(err)
}
```

## Görünüm Yapılandırması

### Uygulama Adı

```go theme={null}
queue.WithAppName("BenimUygulamam")
```

### Ad ve Başlık Renkleri

```go theme={null}
// 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

```go theme={null}
// 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

```go theme={null}
// Tamamlanma özetini devre dışı bırak
queue.WithOutSummary()

// Sonuç ayıraç çizgilerini devre dışı bırak
queue.WithOutResultLine()
```

### Ekran Temizleme

```go theme={null}
// Çalıştırmadan önce ekranı temizle
queue.WithClearScreen(true)
```

## Hata Yönetimi

### Hata Renklerini Yapılandırma

```go theme={null}
// 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

```go theme={null}
queue := ziva.NewQueue("Basit uygulama")
queue.AddTasks(task1, task2)
queue.Run()
```

### Tam Yapılandırma

```go theme={null}
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

```go theme={null}
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ü

1. **Oluşturma** - `NewQueue(title)`
2. **Yapılandırma** - `With*` metod çağrıları
3. **Görev Ekleme** - `AddTasks(...)`
4. **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ı

```go theme={null}
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

```go theme={null}
// 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

```go theme={null}
// Basitleştirilmiş görüntü modu
queue.WithOutResultLine().
      WithOutSummary().
      WithTasksNumbered(false, "")
```

<Info>
  **İpucu:** Özel ortamınızda optimal kullanıcı deneyimi elde etmek için farklı ayarlarla deneme yapın.
</Info>

## Ayrıca Bakınız

* [Görev Türleri](/tr/components/tasks) - mevcut tüm görevlere genel bakış
* [Stil](/tr/customization/styling) - görünüm özelleştirme
* [Gömülü Sistemler](/tr/customization/embedded-systems) - IoT için optimizasyon
