package queue_test import ( "context" "fmt" "time" "git.belvedersky.ru/belvedersky/queue" ) // Example_basic демонстрирует базовое использование очереди. func Example_basic() { type Task struct{ ID int } q := queue.NewQueue[Task](5) q.Register(func(t Task) { fmt.Printf("Handled task %d\n", t.ID) time.Sleep(50 * time.Millisecond) }) ctx := context.Background() q.HandleParallel(ctx, 1) for i := range 5 { q.Produce(Task{ID: i}) } q.Shutdown(context.Background()) // Output: // Handled task 0 // Handled task 1 // Handled task 2 // Handled task 3 // Handled task 4 }