Files
queue/examples/example_basic_test.go
Кобелев Андрей Андреевич e3c9643d05 Initial release of queue package
2025-10-10 22:50:00 +05:00

36 lines
639 B
Go

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
}